【发布时间】:2021-11-05 02:32:13
【问题描述】:
我在 JavaScript 中有这段代码
var items_in_cart = [];
items_in_cart['rr'] = 1;
items_in_cart['mm'] = 2;
alert(items_in_cart.length);
我得到 0
如果将代码更改为
items_in_cart[50] = 1;
items_in_cart[77] = 2;
我得到 78 但这个数组只有两个元素
谢谢
【问题讨论】:
-
Arrays不适用于key-value对。您正在滥用数组。改为使用对象。 -
对于第一部分,数组不应该像在 js 中那样使用,如果你想使用自定义键,请使用 object 代替......至于第二部分,从索引 0 到 76 的所有内容(不包括50)是
undefined,试试console.log(items_in_cart[75])...这是因为它们没有用任何值初始化。数组是元素链,即使第 76 个为空,也无法创建第 77 个索引,因此您的数组长度为 78 而不是 2
标签: javascript html arrays