gpt4 book ai didi

javascript - 数组和JSON之间是否存在混合数据结构?

转载 作者:行者123 更新时间:2023-11-28 16:46:07 24 4
gpt4 key购买 nike

一个团队将他们的项目交给了我,我在其中看到了一些奇怪的东西。他们首先将变量声明为数组:

private myvariable: Array<any> = []; 

但随后在代码中,他们将其用作对象,执行以下操作:

myvariable['key'] = { 'prop': 'val' }

这最终被评估为奇怪的事情:

[key: {...}]

有人知道如何解释这个数据结构吗?

最佳答案

数组基本上是一个 JavaScript 对象,可以具有与其关联的属性和方法,就像“纯”对象一样。当涉及 .toString() 等方法或通过 JSON.stringify() 转换时,它是一个数组,会影响其行为。在 JSON 表示中找不到其属性。

您可以通过将其强制转换(Object.assign()-ing)到一个对象来可视化它的属性,如下所示:

var array=[1,2,3];
array.key='hello';
console.log(JSON.stringify(Object.assign({},array)));
// {"0":1,"1":2,"2":3,"key":"hello"}

这会将数组显示为一个对象(索引号将显示为字符串属性名称及其关联值)。

关于javascript - 数组和JSON之间是否存在混合数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60531840/

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