JS 数组中的 `empty` 是什么意思? [重复]

问题描述 投票:0回答:1

谁能帮我理解 JS 数组中的

empty
意味着什么?

我刚刚注意到 chrome devtools 中的一个数组具有空值。我创建了下面的一个,通过将两个逗号放在一起,我可以生成一个

empty
(见下文)。当然,我对 JS 比较陌生,但由于
empty
不是 JS 原语,我也期望:

a)

null
undefine3d
a[3]

b)

a.length
为 4

empty
是什么意思?

javascript syntax google-chrome-devtools
1个回答
1
投票

数组文字可以包含 省略,例如

[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));

另一种方法是显示“空”,这(恕我直言)也不太合适,它应该按字面意思显示(即“字符串化”)。

© www.soinside.com 2019 - 2024. All rights reserved.