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:'王五'}]
keys()返回数组索引,values()返回元素值,entries()返回键值对。例如,在给定的数组中,keys()打印索引,values()打印对象,entries()打印包含索引和对应对象的数组。
1万+






