JS中some(),every(),fiflter(),map()各种循环的区别理解
// 1. some(): 返回一个Boolean, 判断是否有元素符合func条件
const arr = [1, 2, 3, 4];
arr.some((item) => { return item > 1 })
// 打印结果: true
// 2. every(): 返回一个Boolean, 判断每个元素是否符合func条件
const arr1 = [1, 2, 3, 4]; arr.every((item) => { return item > 3 });
// 打印结果: false
// 3. filter(): 返回一个符合func条件的元素数组( es6)
let ages = [33, 44, 55, 66, 77]; ages.filter((item) => { return item > 18 })
// 打印结果[33, 44, 55, 66, 77]
// 这个可以用来做删除数组元素的操作, 这个操作很好用, 假如我要删除一个父id下有多个元素的数组, 假如使用splice,
// 删除这个数组下的第一个元素后, 坐标i就会改变, 导致后面的删除错乱, 且删除操作达不到效果, 这个时候就可以使用如下代码: el.list是要进行删除操作的数组, rootCateId为父Id
el.list = el.list.filter(({ rootCateId }) => rootCateId !== '559165010958356488');
// 这样就可以删除所有父Id为559165010958356488的数据, 其他的操作可以同理处理
// 4. map(): 返回一个新的array, 数组元素由每一次调用函数产生结果组成
const arr = [1, 2, 3, 4, 5, 6]; arr.map((item) => { return item * 10 })
// 打印结果[10, 20, 30, 40, 50, 60]