1. filter做了一个过滤,返回的新数组并不会改变原子项。
例如:
const data = [
{
label: 'aa',
value: 1
}, {
label: 'bb',
value: 2
}
]
const res = data.filter(item => {
if (item.value === 2) {
return item.label
}
})
console.log(res);
通过上面结果,我们发现并没有返回value === 2对应的label bb,而是依然是个对象。
故:filter并不会改变原子项。
2. map做了一个映射,返回的新数组可以改变原来的原子项。
const data = [
{
label: 'aa',
value: 1
}, {
label: 'bb',
value: 2
}
]
const res = data.map(item => {
if (item.value === 2) {
return item.label
}
})
console.log(res);