希望通过这篇笔记,加深自己对 ES5 新增的数组方法的理解,可以帮我们少一些 for 循环.
[…].some(ck)函数 —- 某个一个为true,则为true
- some意指”某些”,指是否”某些项”合乎条件。
- 皇上:有一个满意的,就来侍寝就可以了。
(对数组中每个元素执行一次ck函数,直到某个元素返回true,则直接返回true。如果都返回false,则返回false。) - 返回值为 Boolean 值。
检查整个数组中是否有满足ck函数的元素。
[…].every(ck)函数 —- 某一个为false,则返回false
- 跟some为基友关系,同样是返回Boolean值。
- 与some相比就是true和false调换一下。
(每个数组元素都执行一次ck函数,直到某个元素执行函数ck返回false,则直接返回false,如果全部返回true,则返回true) - 不过,every需要每一个妃子都要让朕满意,否则——“来人,给我拖出去砍了!”1234var result = [5,50,35,12,85].every( (v,i) => v<51 )//返回有一个(多个)大于等于51,则返回 result = falsevar result = [5,50,35,12,85].every( (v,i) => v<100 )//全部小于100,则返回 result = true
[…].foreach(ck)函数 —- 循环而已
每个数组元素都执行一次ck函数,foreach函数无法用break跳出
|
|
[…].filter(ck)函数 —- 得到返回值为true的元素的集合
每个数组元素都执行一次ck函数,最后返回每次元素执行ck函数后返回值的为true的元素集合(数组)
[…].reduce(ck,init) —- 依次执行ck(prv,next)
数组依次执行ck函数。
|
|
[…].map(ck)函数 —- 返回每个元素返回值的集合
每个数组元素都执行一次ck函数,最后返回每次元素执行ck函数后返回值的集合(数组)
|
|