gpt4 book ai didi

javascript - 无法理解 Javascript 数组的这种行为

转载 作者:行者123 更新时间:2023-11-30 11:45:04 25 4
gpt4 key购买 nike

当这个问题让我措手不及时,我正试图解决一些 Javascript 问题。看看下面的片段,

var person = [];
person['1'] = "John";
person['2'] = "Doe";
person['3'] = 46;
//[1: "John", 2: "Doe", 3: 46]
console.log(person);
//4 <-- as i expected
console.log(person.length);

var person2 = [];
person2['a'] = "John";
person2['b'] = "Doe";
person2['c'] = 46;
//[1: "John", 2: "Doe", 3: 46]
console.log(person2);
//0 <-- i expected 4, but got 0
console.log(person2.length)

我已经在评论中添加了输出。

我想知道为什么

console.log(person2.length)

长度为 0 而不是 4。有人可以帮我理解吗?

最佳答案

javascript Arrays 没有 key:value 但只有值,您的代码可能如下所示:

var person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
console.log(person);
console.log(person.length);

或者也可以使用 push :

var person = [];
person.push("John");
person.push("Doe");
person.push(46);
console.log(person);
console.log(person.length);

如果你希望你的数据通过key/value存储,你可以使用object:

var person = {};
person['1'] = "John";
person['2'] = "Doe";
person['3'] = 46;
console.log(person);
console.log(Object.keys(person).length);

希望这对您有所帮助。

关于javascript - 无法理解 Javascript 数组的这种行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41270009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com