var arr = ["a", , "c"];
var sparseKeys = Object.keys(arr);
var denseKeys = [...arr.keys()];
console.log(sparseKeys); // ['0', '2']
console.log(denseKeys); // [0, 1, 2]
稀疏数组:包含undefined的数组如(let arr = ['a', ,'c'] 这里下标为1的是undefined)
Array.prototype.keys会输出0 1 2
Object.prototype.keys会输出0 2
结论:
Array.prototype.keys 会获取没有对应元素的索引
Object.prototype.keys 不会获取没有对应元素的索引
原出处