filter,map
1.删除数组中符合条件的元素
filter() 不会对空数组进行检测。
filter() 不会改变原始数组。
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
arr = arr.filter(item => item <= 5); // [1, 2, 3, 4, 5]
let obj = [
{ id:1, name:'苹果'},
{ id:2, name:'柠檬'},
{ id:3, name:'菠萝'},
{ id:4, name:'草莓'},
{ id:5, name:'西瓜'},
{ id:6, name:'柠檬'}
]
console.log("1==",obj.filter((item)=>{ return item.id == 3 }))
// [ {id:3, name:'菠萝'}]
console.log("2==",obj.filter((item)=>{ return item.name =='柠檬' }))
// [ {id:2, name:'柠檬'},{id:6, name:'柠檬'}]
2.根据某个数组元素筛选出另一个数组对象中指定对象
let arr1 = [63, 98];
let arr2 = [
{ id: '1', name: '张三', grade: 98 },
{ id: '2', name: '李四', grade: 63 },
{ id: '3', name: '王五', grade: 56 },
{ id: '4', name: '赵六', grade: 98 },
];
let result = arr2.filter((item) => {
return arr1.some(curVal => (curVal === item.grade))
})
console.log(result)
// [{id: '1', name: '张三', grade: 98},{id: '2', name: '李四', grade: 63},{id: '4', name: '赵六', grade: 98}]
3.根据原对象数组中的某一属性组成新的数组
let arr3 = [
{ id: '1', name: '张三', grade: 98 },
{ id: '2', name: '李四', grade: 63 },
{ id: '3', name: '王五', grade: 56 },
{ id: '4', name: '赵六', grade: 98 },
];
let result = arr3.map(obj => {
return obj.name;
})
console.log(result)
//['张三', '李四', '王五', '赵六']
待续中。。。。