一维数组:
const arr = [1,2,3].filter((v)= > {
console.log(v); //输出为1,2,3
return v>1;
})
console.log(arr); //输出为[2,3];
二维数组:
let data = [{
a: [{re:true},{re:false}]
b: '123'
},
{
a: [{re:true},{re:false}]
b: '123'
}
]
// 借助forEach解决最外重循环
let newArray = []
data.forEach((now,index)=>{
newArray[index] = now
newArray[index].a = now.a.filter((item) => {
return item.re === true
})
})
console.log(newArray) // [{a: [{re:true}]b: '123'},{a: [{re:true}]b:'123'}]
// 不比双重forEach简洁多少,而且filter只适合在最后一层用,如果是三维数组,还是要forEach两遍,但是可读性感觉强了一些