你不知道的JavaScript深究JavaScript前端工具

Js遍历总结

2018-07-19  本文已影响8人  supa同学

总结一下JS常用的遍历方法

// array  object
const arr = [1, 2, 3, 4, 5]
const obj = {a:1, b:2, c:3}
for 循环
for (let index = 0; index < arr.length; index++) {
  const element = arr[index]; // 1, 2, 3, 4, 5
}
forEach
arr.forEach((item, index) => {
  console.log(item, index) // 1,0  2,1  3,2  4,3  5,4
})

map
arr.map((item, index) => {
  console.log(item, index) // 1,0  2,1  3,2  4,3  5,4
})
filter 过滤 返回一个符合条件的数组
const newArr = arr.filter((item, index) => {
  console.log(item, index) // 1,0  2,1  3,2  4,3  5,4
  return item > 2
})
console.log(newArr)  // 3, 4, 5
some 返回一个布尔值

某一个值满足条件返回true

const result = arr.some((item, index) => {
  return item > 3
})
console.log(result) // true
every 返回一个布尔值

所有值满足条件返回true

const result2 = arr.every((item, index) => {
  return item > 2
})
console.log(result2) // false
reduce array.reduce(callback[, initialValue]);
  1. callback : 函数执行在数组中每个值
  2. initialValue : 对象作为第一个参数回调的第一次调用使用
// 求和
var sum = arr.reduce(function(x, y) {
  return x + y
}, 0)
console.log(sum)  //  15 

// 取最大值
var max = arr.reduce(function(x, y) {
  return x > y ? x : y;
})
console.log(max) // 5

for...in 与 for...of 使用与区别

for (index in arr) {
  console.log(index) // 0 1 2 3 4
}

for (index in obj) {
  console.log(index) // a b c
}
for (item of arr) {
  console.log(item) // 0 1 2 3 4
}
ES6-对象的扩展-Object.keys(),Object.values(),Object.entries()
Object.keys(obj) // [a, b, c]
Object.values(obj)  // [1, 2, 3]
Object.entries(obj)  // [['a': 1],['b': 2], ['c': 3]]
上一篇 下一篇

猜你喜欢

热点阅读