Javascript数组

时间:2022-05-07
本文章向大家介绍Javascript数组,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

定义

   定义空数组       var arr = new Array();       var arr = [];    定义一个包含1,2,3的数组       var arr = [1,2,3];       var arr = new Array(1,2,3);

插入

push():数组的末尾加入值

//往数组中插入1,2,3,4,5,6
var arr = new Array();
for(var i = 1;i<7;i++){
   arr.push(i);
}
console.log(arr); //[1,2,3,4,5,6]

  unshift(elem1,elem2,elem3):数组的开头添加数据 

//向数组[1,2,3]开头添加添加7,8
var arr = [1,2,3];
arr.unshift(4,5);
console.log(arr); //[4,5,1,2,3]

 splice(index,num,elem1,elem2,elem3....):当num为0的时候splice表示在index的位置插入elem1,elem2,elem3....,index下标和数组下标一样,表示在某个数的后面插入。

//向数组[7,8,9]的8后面插入4,5,6
  var arr = [7,8,9];
  arr.splice(2,0,4,5,6);
  console.log(arr); // [7, 8, 4, 5, 6, 9]

删除

 splice(index,num):从下标index开始删除num个

//删除1后面3个数
  var arr = new Array(1,2,3,4,5,6);
  arr.splice(1,3);
  console.log(arr); //[1, 5, 6]

 pop():删除数组的最后一个值并返回

  //删除最后一个数
  var arr = new Array(1,2,3,4,5,6);
  var tmp = arr.pop();
  console.log(arr); //[1, 2, 3, 4, 5]
  console.log(tmp); // 6

 shift():删除第一个值并返回

  //删除第一个数
  var arr = new Array(1,2,3,4,5,6);
  var tmp = arr.shift();
  console.log(arr); //[2, 3, 4, 5, 6]
  console.log(tmp); // 1

截取

 slice(start,[end]):选取[start,end)区间内的数组值,注意end是取不到的,若不写end则默认数组长度

  //截取数组[3,4]
  var arr = new Array(1,2,3,4,5,6);
  var new_arr = arr.slice(2,4);
  console.log(arr.slice(2,4)); //[3,4]
  console.log(new_arr); //[3,4]

合并 

 arr1.concat(arr2,arr3....):将数组arr1和arr2,arr3...进行合并

  //合并数组
  var arr1 = new Array(1,2,3);
  var arr2 = [4,5,6];
  var arr3 = [7];
  var new_arr = arr1.concat(arr2,arr3);
  console.log(new_arr); // [1, 2, 3, 4, 5, 6, 7]

数组转化字符串 

   join(separator):返回由separator分隔的字符攒

  //将数组转化为由‘-’分隔的字符串
  var arr = [1,2,3,4,5,6];
  var str = arr.join('-');
  console.log(str); // 1-2-3-4-5-6

 排序

    sort(func):默认按照字典序从小到大排序,若希望数值/从大到小排序需要些func函数

//默认字典序排序
  var arr1 = [45,123,67,89,90];
  console.log(arr1.sort());//[123, 45, 67, 89, 90]

  //按照数值从小到大
  var arr2 = [45,123,67,89,90];
  function sort_num1(a,b){
     return a-b;
  }
  console.log(arr2.sort(sort_num1)); // [45, 67, 89, 90, 123]

  //按照数值从大到小
  var arr3 = [45,123,67,89,90];
  function sort_num2(a,b){
     return b-a;
  }
  console.log(arr3.sort(sort_num2)); //[123, 90, 89, 67, 45]

  //按照字典序从大到小
  var arr4 = [45,123,67,89,90];
  function sort_num3(a,b){
     return String(a)<String(b);
  }
  console.log(arr4.sort(sort_num3));//[90, 89, 67, 45, 123]