gpt4 book ai didi

javascript - 如何使用动态 JSON 中的键来创建 javascript 数组?

转载 作者:行者123 更新时间:2023-12-02 23:13:44 25 4
gpt4 key购买 nike

我有一个格式为 JSON 的字符串 [{"DATE":"2019-01-01","A":0,"B":0}]由 php 脚本生成,其中可以有任意数量的具有不同键名称和值的键。

我想做的是在创建 js 数组时访问这些键名称。

当我知道键名是什么时,这很容易:

$.ajax({
url: "data.php",
method: "GET",
success: function(data) {
let date = [];
let one = [];
let two = [];

for(let i in data) {
date.push(data[i].DATE);
one.push(data[i].A);
two.push(data[i].B);
}
...

我只是按键名将它们插入数组。但是,如果我事先不知道键名称(本例中为 DATE、A 和 B)怎么办?

我尝试获取键名并使用它们来代替静态的“DATE”、“A”和“B”,但这不起作用。示例:

const x = Object.keys(data[0]);
console.log(x[1]);

这会产生“A”,但我不能将其用作 one.push(data[i].x[1]);填充数组。控制台中的错误是

"Uncaught TypeError: Cannot read property '1' of undefined".

我正在寻找解决方案,希望您能帮助我理解这个问题。

最佳答案

试试这个,

let a = [];
let b = [];
let c = [];

const data = [{"a":1, "b":2, "c":3}];

data.forEach( function(item, index) {
Object.keys(item).forEach(function(i, ind) {
eval(i+'.push('+item[i]+')');
})
});

console.log('a is=', a, 'b is =', b, 'c is =', c);

关于javascript - 如何使用动态 JSON 中的键来创建 javascript 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57240457/

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