gpt4 book ai didi

javascript - 将对象转换为对象的对象

转载 作者:行者123 更新时间:2023-12-03 02:43:51 25 4
gpt4 key购买 nike

我有一个对象:

{
"Results": {
"circle": 0.06879016757011414,
"quad": {
"exp": 0.8039023876190186,
"actual": 0.19609761238098145
},
"square": 0.8266428709030151
}
}

我想将其转换为:

{
"Results": {
"circle": {
"circle": 0.06879016757011414
},
"quad": {
"exp": 0.8039023876190186,
"actual": 0.19609761238098145
},
"square": {
"square": 0.8266428709030151
}
}
}

尝试过这段代码:

var modData = {};
data = data.Results;
for (var key in data) {
if (data.hasOwnProperty(key)) {
modData[key] = data[key];
for (var innerKey in data[key]) {
modData[key] = data[key];
}
}
}
console.log("Modified is:", modData);

不幸的是,这仍然返回原始对象,我做错了什么?

jquery 解决方案也很好。

最佳答案

使用for .. in循环属性,如果任何属性不是对象,请将其替换为对象。像这样:

let x = {
"Results": {
"circle": 0.06879016757011414,
"quad": {
"exp": 0.8039023876190186,
"actual": 0.19609761238098145
},
"square": 0.8266428709030151
}
}
for (key in x.Results) {
if (typeof x.Results[key] !== 'object')
x.Results[key] = {
[key]: x.Results[key]
}
}

console.log(x);

如果您想保留原始对象,请执行以下操作:

let data = {
"Results": {
"circle": 0.06879016757011414,
"quad": {
"exp": 0.8039023876190186,
"actual": 0.19609761238098145
},
"square": 0.8266428709030151
}
}

data = data.Results;
modData = {};

for (key in data) {
if (typeof data[key] !== 'object')
modData[key] = { [key]: data[key] }
else
modData[key] = { [key]: data[key] }
}

console.log(modData);

关于javascript - 将对象转换为对象的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48191203/

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