keys() values() entries() 都会返回数组的迭代对象,唯一的区别是返回值的内容不同
keys() 返回数组的下标索引
values() 返回数组每一项的值
entries() 返回数组的键值对,一对键值对是一个数组
例如:
let arr = [ {age:18, value:'张三'}, {age:19, value:'李四'}, {age:20, value:'王五'} ]
const keys1 = arr.keys()
const keys2 = arr.values()
const keys3 = arr.entries()
for (let item of keys1 ) {
console.log(item)
}
// 此处返回的是该数组的索引
// 输出结果: 0 1 2
for (let item of keys2 ) {
console.log(item)
}
// 此处返回的是该数组的元素
// 输出结果: {age:18, value:'张三'} {age:19, value:'李四'} {age:20, value:'王五'}
for (let item of keys3 ) {
console.log(item)
}
// 此处返回的是该数组的键值对
// 输出结果:[0, {age:18, value:'张三'}] [1, {age:19, value:'李四'}] [2, {age:20, value:'王五'}]