1. .forEach()

  • 语法: .forEach(function(value, index, arr){})

  • 参数: 
    • value: 当前的值 -> 必需
    • index: 当前索引 -> 可选
    • arr: 当前元素所属的数组对象 -> 可选

let arr = ['一', '二', '三'];

arr.forEach(value => {
    console.log(value)
})

2. for of -> es6

  • for(let value of array){} -> 一般用于遍历数组

let ofArr = ['Ⅰ', 'Ⅱ'];

for (let value of ofArr) {
    console.log(value)
}

3. for in -> es5

  • for(let key in obj){} -> 一般用于遍历对象

let inObj = {a: 1, b: 2};

for (let key in inObj) {
    console.log(key)
}

4. .key() -> 遍历数组的下标

  • 使用前提: 一定要和 for of 搭配使用,一般是使用在数组上

let ofArr = ['Ⅰ', 'Ⅱ', 'Ⅲ', 'Ⅳ'];

for (let index of ofArr.keys()) {
    console.log(index)
}

5. Object 所提供的方法 -> 写法一

  • 使用前提: 一般是使用在对象上

  • Object.keys(obj) -> 获取指定对象下的所有 key

let ofObj = {
    a: '一',
    b: '二'
};

key_arr = Object.keys(ofObj);  // ["a", "b"]

let ofObj = {
    a: '一',
    b: '二'
};

for (let key of Object.keys(ofObj)) {
    console.log(key)
}

  • Object.values(obj) -> 获取指定对象下的所有 value

let ofObj = {
    a: '一',
    b: '二'
};

value_arr = Object.values(ofObj);  // ["一", "二"]

let ofObj = {
    a: '一',
    b: '二'
};

for (let value of Object.values(ofObj)) {
    console.log(value)
}

  • Object.entries(ofObj) -> 获取指定对象下的所有 key value

let ofObj = {
    a: '一',
    b: '二'
};

key_value_arr = Object.entries(ofObj);  // [["a", "一"], ["b", "二"]]

let ofObj = {
    a: '一',
    b: '二'
};

for (let [key, value] of Object.entries(ofObj)) {
    console.log(key, value)
}

6. Object 所提供的方法 -> 写法二

  • 使用前提: 一般是使用在对象上

let ofObj = {
    a: '一',
    b: '二'
};

let {keys, values, entries} = Object;  // 使用解构赋值获取 Object 对象下的方法

for (let key of keys(ofObj)) {
    console.log(key);  // 'a', 'b'
}

for (let value of values(ofObj)) {
    console.log(value);  // 一, 二
}

for (let [key, value] of entries(ofObj)) {
    console.log(key, value);
    console.log([key, value]);  // ["a", "一"], ["b", "二"]
}