谁能帮我理解 JS 数组中的
empty
意味着什么?
我刚刚注意到 chrome devtools 中的一个数组具有空值。我创建了下面的一个,通过将两个逗号放在一起,我可以生成一个
empty
(见下文)。当然,我对 JS 比较陌生,但由于 empty
不是 JS 原语,我也期望:
a)
null
或 undefine3d
值 a[3]
b)
a.length
为 4
empty
是什么意思?
数组文字可以包含 省略,例如
[0,1,,3];
两个逗号一起表示“索引 2 处没有元素”。许多字符串化版本会在索引 2 处显示 undefined,但这具有误导性,因为该位置根本没有元素。
例如
let arr = [0,1,,3];
arr.forEach((v, i) => console.log(`index ${i} has value ${v}`));
console.log('stringified: ' + arr);
console.log('SO console:', arr);
console.log('JSON: ' + JSON.stringify(arr));
另一种方法是显示“空”,这(恕我直言)也不太合适,它应该按字面意思显示(即“字符串化”)。