gpt4 book ai didi

JavaScript 将 JSON 数据提取到新对象中

转载 作者:行者123 更新时间:2023-11-29 23:44:44 26 4
gpt4 key购买 nike

我正在尝试从 JSON 文件中提取多条数据以放入一个对象中,这样我就可以将对象转换回 JSON,只包含我想要的数据。

我在想这样的对象是可能的:

data = {
0: {
lat: xxxx,
lng: xxxx,
name: xxxx
},
1: {
...
}
};

这是提取数据的循环,但我不知道如何将三个数据点分配给对象 (data) 内的同一个对象 (data.0、data.1、...)。

for (let z = 0; z < data.features.length; z++) {
finalData.z.lat = data.features[z].center[0];
finalData.z.lng = data.features[z].center[1];
finalData.z.name = data.features[z].text;
}

我不介意是否在对象上使用数组,因为它们也可以被 JSON.stringified。 data.features 的长度因 API 调用而异。

我希望使用 vanilla JS 来完成此任务,但欢迎提出建议。它正在服务器 (Node.js) 上执行。

最佳答案

使用允许属性访问的 [] 表示法而不是 dot 表示法。

var dataArray = [];

for (let z = 0; z < data.features.length; z++) {
var finalData = {};
finalData[z] = {};

finalData[z].lat = data.features[z].center[0];
finalData[z].lng = data.features[z].center[1];
finalData[z].name = data.features[z].text;

dataArray.push(finalData);
}

如果您使用的是 ES6,那么您可以使用 [] 模式匹配来获取计算的属性名称。

let dataArray = [];

for (let z = 0; z < data.features.length; z++) {
let feature = data.features[z];
let structuredData = {
[z]: {
lat: feature.center[0],
lng: feature.center[1],
name: feature.text
}
};

dataArray.push(structuredData);
}

关于JavaScript 将 JSON 数据提取到新对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44467539/

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