JavaScript 数组方法总结与技巧

102 阅读1分钟

数组去重

将数组的一个值和其他值依次比较 复杂的方法

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5,5];`

 console.log(arr);     //[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5, 5]`

function noRepeat1(arr) {
for(var i = 0; i < arr.length-1; i++){
      for(var  j = i+1; j < arr.length; j++){
              if(arr[i]===arr[j]){
                   arr.splice(j,1);
                   j--;
              }
        }
        }
return  arr;
}
var arr2 = noRepeat1(arr);
console.log(arr2);   //[1, 23, 3, 5, 6, 7, 9, 8]

合并数组

这里可以使用concat()方法 将数组1合并到数组2的后面

   let arr1 = ['肖']
   let arr2 = ['吃饭','睡觉','上厕所'].concat(arr1)
   console.log(arr2)  //  吃饭 睡觉 上厕所 肖

那如果将数组1合并到数组2的前面呢 当然也有方法,就是Array.prototype.unshift()

   const array1 = [1, 2, 3];
   console.log(array1.unshift(4, 5));
   // expected output: 5
   console.log(array1);
  // expected output: Array [4, 5, 1, 2, 3]

ES6方法 ... 扩展运算法
可以合并数组
可以拷贝数组 既不是深拷贝也不是浅拷贝 (只能深拷贝第一层)

 let arr1 = ['肖']
 let arr2 = ['吃饭','睡觉','上厕所',...arr1]  //放后面
 let arr3 = [...arr1,'吃饭','睡觉','上厕所']  //放前面
 console.log(arr2)  //  吃饭 睡觉 上厕所 肖
  console.log(arr3)  // 肖 吃饭 睡觉 上厕所