遍历数组几种方法的区别与联系

ES5新增迭代方法 some, filter, every, map, forEach

map, filter 返回数组
forEach 仅仅简化 for循环
some, every 返回的是 true/false

var x = ([-1, 1, 2, 3, 4, 5, 6])

some


some 方法:只要有一个回调函数返回true, 则返回true

var a = x.some((value) => {
  if (value < 0) {
    return true
}
})
console.log(a) //true

filter


filter 方法:给定一个函数,把函数返回 true 的项组成一个新的数组重新返回

var a = x.filter((value) => {
  if (value > 0) {
    return true
  }
})
console.log(a)  //[2, 3, 4, 5, 6]

every


every 方法:所有回调函数都返回 true ,则返回true

var a = x.every((value) => {
  if (value > 0) {
    return true
  }
})
console.log(a)  //false

forEach


forEach方法:给定一个函数,不需要返回值,只是遍历每一项,不影响原数组

map


map 方法:给定一个函数,需要返回值,将其返回值组成一个新的数组,不影响原数组

var arr = [11, 22, 33]
var arr2 = arr.map((value, index, arr) => {
  return value + 1;
})
console.log(arr2)  //[12, 23, 34]

for ... in


最普通的遍历效果

for (var key in x){
  ...
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容