gpt4 book ai didi

javascript - 在将数组推送到数组并像对象一样分配键值对之后,数组的长度是多少

转载 作者:行者123 更新时间:2023-12-03 06:33:35 26 4
gpt4 key购买 nike

这是一个例子:

var myArray = []
myArray.push('A String')
console.log(myArray.length) // got: 1
myArray['aRandomKey']='An Other String'
console.log(myArray.length) // got: 1

所以基本上第二个元素不会添加到数组中,因为长度没有改变。但是当我记录数组时:

console.log(myArray) // got: ["A String", aRandomKey: "An Other String"]

我看到 myArray 有 2 个元素...那么发生了什么?

最佳答案

JSFIDDLE DEMO

var myArray = []
myArray.push('A String')
console.log(myArray.length) // got: 1
myArray['aRandomKey']='An Other String'
console.log(myArray.length) // got: 1

还有一些事情

myArray[1] = "2nd string";
console.log(myArray.length);// you'll get 2

console.log(myArray.aRandomKey); // An Other String
console.log(myArray["aRandomKey"]); // An Other String
console.log(myArray) // ["A String", "2nd string", aRandomKey: "An Other String"]

通过查看上面的语句,只有当您使用 push() 或使用整数键 myArray[1] 进行分配时,值才会被推送到数组中。如果添加非数字键而不是整数,它仍然会作为属性添加到数组对象中,但不会作为项目推送,并且可以通过上面的对象表示法进行访问。

注意:以这种方式向数组添加项目时要小心 myArray[1] = "2nd string";例如,如果您这样写 myArray[1000] = "2nd string";console.log(myArray),结果将类似于 ["A String", 1000: "2nd string ", aRandomKey: "An Other String"] 长度将为 1001

关于javascript - 在将数组推送到数组并像对象一样分配键值对之后,数组的长度是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38332055/

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