gpt4 book ai didi

javascript - 在 JavaScript 中按对象创建数组(反之亦然)?

转载 作者:数据小太阳 更新时间:2023-10-29 03:50:03 28 4
gpt4 key购买 nike

这是怎么回事?

var x = {length:3, '0':'foo', '1':'bar','2':'f', splice:function(){}}

这实际上创建了一个数组:

["foo", "bar", "f"]

此结构语法的文档在哪里?

它也很聪明:

更改为:(注意 0、1、3)

 var x = {length:3, '0':'foo', '1':'bar','3':'f', splice:function(){}}

会弄乱数组,它会是:

["foo", "bar", undefined × 1]

此外,删除拼接功能:

var x = {length:3, '0':'foo', '1':'bar','2':'f'}

产量:(常规对象)

Object
0: "foo"
1: "bar"
2: "f"
length: 3
__proto__: Object

所以我有两个问题:

  • 这个结构是什么? 长度,元素,拼接

  • 假设我有 ['john','paul','yoko'] 现在我想创建对象

    var x = {length:3, '0':'john', '1':'paul','2':'yoko', splice:function(){}}

    我该怎么做?

最佳答案

数组只不过是一个对象,实现了一些方法,当你制作console.log(x)时,你的控制台会识别数组的模型,并按照配置显示它。

ArrayJavascript 中默认可用的对象,浏览器对它的处理方式与其他对象略有不同(请参阅@MathiasSchwarz 评论),但在其结构,它是一个像其他对象一样的对象(有一些方法可以调用,你可以添加索引。虽然,你通常不会像在“普通”对象中那样使用字符串索引,因为它的目的不是那样使用) .

但是你的对象并不是真正的数组,你可以做任何你想做的事而不用引用控制台中显示的内容。

关于javascript - 在 JavaScript 中按对象创建数组(反之亦然)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13119105/

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