【发布时间】:2019-04-23 07:46:26
【问题描述】:
我有一个像下面这样的数组
arr=[];
arr[0]={"zero": "apple"};
arr[1]={"one": "orange"};
arr["fancy"]="what?";
但当我执行console.log(arr.length) 时,我得到 length 为 2,即使我能够控制所有值。
并且在执行 console.log(JSON.stringify(arr)) 时无法获取所有值
这里有什么问题。
这里是小提琴fiddle的链接
【问题讨论】:
-
您希望
arr["fancy"]="what?";成为长度的一部分? -
所有数组当然都有一个
length属性(这是你的问题的全部内容),所以按照你显然期望的逻辑,[].length应该是1(因为它有一个length财产)。通常,将字符串键添加到数组不是一个好主意 - 但如果您确实需要使用它们,那么不,它们不会影响自动更新的length属性。 -
在执行 console.log(JSON.stringify(arr)) 时无法获取所有值
标签: javascript node.js