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]
posted @ 2022-01-12 10:35  小闫先生  阅读(80)  评论(0)    收藏  举报