遍历obj和array

2018-08-24 | 13分钟 | yrobot | array,obj,遍历

本页目录:
基础for循环
for in 循环
for of 循环
array.forEach()方法
总结

1. 基础for循环

for (var index = 0; index < myArray.length; index++) {
  console.log(myArray[index]);
}

2. for in 循环

  • for...in 语句用于对数组或者对象的属性进行循环操作。
    for(let i in array)  // i为数组的index:0,1,2,3.....
    for(let i in obj)  // i为obj 的属性名
    

3. for of 循环

参考链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/for...of

for (let value of iterable) {  // value为属性值
    //statements
}

value
在每次迭代中,将不同属性的值分配给变量。

iterable ( Array,Map,Set,String,TypedArray,arguments 对象等等) (obj不是iterable)
被迭代枚举其属性的对象。

4. array.forEach()方法

arr.forEach(function callback(value[, index[, array]]) { // value:属性值,index:当前索引,array:当前遍历数组
    //your iterator
}[, thisArg]);   // thisArg:作为callback函数的this值

总结

  1. 少用for of,支持不好。性能也一般。性能基础for优化较好
  2. 遍历array,以上方法均可
  3. 遍历obj思路:
    1. 获取obj的keys,利用基础for遍历
    2. for in利用属性名获取属性值
    3. 利用object.keys()方法获取keys,再用keys.forEach()遍历获取属性值