entries() 遍历键值对
keys() 遍历键名
values() 遍历键值
for (let index of ['a', 'b'].keys()) {
console.log(index);
}
// 0
// 1
for (let elem of ['a', 'b'].values()) {
console.log(elem);
}
// 'a'
// 'b'
for (let [index, elem] of ['a', 'b'].entries()) {
console.log(index, elem);
}
// 0 "a"
// 1 "b"
let letter = ['a', 'b', 'c'];
let entries = letter.entries();
console.log(entries.next().value); // [0, 'a']
console.log(entries.next().value); // [1, 'b']
console.log(entries.next().value); // [2, 'c']
对象------遍历对象(属性)
for ... in obj 循环遍历对象自身的和继承的可枚举属性
Object.keys(obj) 返回数组 包括对象自身的所有属性的键名
Object.getOwnPropertySymbols(obj) 返回数组,包含对象自
身所有Symbol属性的键名
Object.getOwnPropertySymbols(obj) 返回数组,包含对象自身所有的Symbol属性的键名
Reflect.ownKeys(obj) 返回数组 包含对象自身所有键名Symbol/字符串/是否可枚举的 次序依次数值类型、字符串类型、Symbol