对象keys和values提取出来做数组
var obj = {a:1,b:2,c:3}
console.log(Object.keys(obj))
console.log(Object.values(obj))
除了reduce,其他都是三个参数(item,index,数组本身arr)
forEach返回undefined
1、没有返回值
this.newArr = this.arr.forEach((item,index)=>{
item.show = false;
return item;
})
console.log(this.newArr)
map返回一个数组,不会修改原数组
var arr = [1,2,3,4,5]
var arr1 = arr.map((item,index,arr)){
return item*2;
}
console.log(arr)
console.log(arr1)
filter过滤数组,不会修改原数组
将数组的相同的值合并起来
let arr = [{id: '1a'},{id: '2d'},{id: '3asd'},{id: '1a'},{id: '2d'},{id: '2d'},{id: '12s'}]
unquire(arr , key) {
let concatArr = []
arr.sort((a, b) => {
var x = a[key].toLowerCase();
var y = b[key].toLowerCase();
if (x < y) return -1
if (x > y) return 1;
return 0;
});
for (let i = 0; i < arr.length; i++) {
if (arr[0][key] === arr[arr.length - 1][key]) {
concatArr.push(arr)
break;
} else if (arr[0][key] !== arr[i][key]) {
concatArr.push(arr.splice(0, i))
concatArr.push(...this.unquire(arr,key))
break;
}
}
return concatArr
}
this.unquire(arr,id);