gpt4 book ai didi

JavaScript:转换对象结构

转载 作者:数据小太阳 更新时间:2023-10-29 04:55:24 26 4
gpt4 key购买 nike

我有一个这样的对象:

{
"A": [ "-4927","8779","-9971","-23767" ],
"B": [ "-10617","-1456","3131","259" ],
"C": [ "-5185","1168","21501","18989" ],
"D": [ "2010","5664","2148","-674" ]
}

我想转换成这样:

[
{
name: 'A',
data: ["-4927","8779","-9971","-23767"]
}, {
name: 'B',
data: ["-10617","-1456","3131","259"]
}, {
name: 'C',
data: ["-5185","1168","21501","18989"]
}, {
name: 'D',
data: ["2010","5664","2148","-674"]
}
]

我使用了以下方法:

var newData = [];
$.each($.parseJSON(data), function(k, v) {
newData['name'] = k;
newData['data'] = v;
});

但它只将最后一个 key 对值存储为 newData。那就是

name: 'D',
data: ["2010","5664","2148","-674"]

我知道它会覆盖以前的数据并仅存储它获得的最后数据。但我无法解决这个问题。

有什么帮助吗?

最佳答案

您将属性 namedata 直接分配给 newData 而不是将对象作为数组插入其中:

将循环更改为:

var newData = [];
$.each($.parseJSON(data), function(k, v) {
const myNewData = {
name: k,
data: v
}
newData.push(myNewData);
});

关于JavaScript:转换对象结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52334619/

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