Open LLwanran opened 5 years ago
这6个方法均为ES6语法,IE9及以上才支持。不过可以通过babel转意支持IE低版本。 以下均不改变原数组。
forEach 让数组中的每一项做一件事(返回当前元素及索引)
arr.forEach(item => console.log(item))
map 让数组通过某种计算产生一个新数组(返回Array)
let result = arr.map((item, index, arr) => { return item>60 ? '及格' : '不及格'; })
filter 筛选出数组中符合条件的项,组成新数组(返回Array)
let result = num.filter(item => item % 3 === 0)
reduce 让数组中的前项和后项做某种计算,并累计最终值(返回Number)
let total = store.reduce((temp, item, index) => { return temp + item; })
every 检测数组中的每一项是否符合条件,全部满足才会true(返回Boolean)
let flag = arr.every((item,index,arr) =>item > 1)
some 检测数组中是否有某些项符合条件,只要满足1个即为true(返回Boolean)
let num = arr.some((item, index, arr) => { return item > 1 })
参考文档: ES5中新增的Array方法详细说明
在js中有非常多数组方法,其中迭代方法有6种,我们平时一般爱用forEach和map,好用又高效,不用什么都是for循环大法,但是这些方法都很像,到底有什么区别呢?
这6个方法均为ES6语法,IE9及以上才支持。不过可以通过babel转意支持IE低版本。 以下均不改变原数组。
forEach 让数组中的每一项做一件事(返回当前元素及索引)
map 让数组通过某种计算产生一个新数组(返回Array)
filter 筛选出数组中符合条件的项,组成新数组(返回Array)
reduce 让数组中的前项和后项做某种计算,并累计最终值(返回Number)
every 检测数组中的每一项是否符合条件,全部满足才会true(返回Boolean)
some 检测数组中是否有某些项符合条件,只要满足1个即为true(返回Boolean)
参考文档: ES5中新增的Array方法详细说明