数组去重
将数组的一个值和其他值依次比较 复杂的方法
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) // 肖 吃饭 睡觉 上厕所