gpt4 book ai didi

javascript - 访问 JSON 对象数组中的单个数组元素

转载 作者:行者123 更新时间:2023-11-29 21:00:05 24 4
gpt4 key购买 nike

我有一个 JSON 对象数组 - 每个键在数组中有多个值,如下所示:

{
"1": [
"hi",
"hello"
]
}

如何访问单个元素“hi”和“hello”?

下面我试过了,还是不行

//suppose var imdb = [] contains the above array of JSON object
for (var i = 0; i < imdb.length; i++) {
var object = imdb[i];
var strArray = JSON.stringify(object, null, 2);
console.log(strArray) //prints the above
console.log(imdb[1][0]) // throws error, was expecting to print "hi"
}

最佳答案

你可以这样做 -

let data = [
{
"1": [
"hi",
"hello"
]
},

{
"2": [
"hi again",
"hello again"
]
}
]

function foo(data) {
data.forEach(obj => {
for(let prop in obj) {
obj[prop].forEach(x => console.log(x));
}
})
}


foo(data);

这是做什么的 -

  1. 遍历最外层的数组
  2. 获取对象的键(这是被迭代的数组的当前元素)
  3. 遍历此键的值(它是一个数组),并打印每一项。

您可以使用 JSON.parse() 从原始 JSON 响应中获取 data 的正确表示。


对于您的原始代码,如果您想在特定位置打印数组值,例如第一个对象的 "hi" 和第二个对象的 "hi again",这里是修改后的代码代码-

function bar(imdb) {
// parse imdb first, then -
for (var i = 0; i < imdb.length; i++) {
var object = imdb[i];
var objectKey = Object.keys(object)[0];
console.log(object[objectKey][0]);
}
}

Object.keys(object)[0] 将返回您正在迭代的当前对象的键(“1”“2” ),并使用 object[objectKey][0],您可以在键值的第 0 索引处打印元素。

关于javascript - 访问 JSON 对象数组中的单个数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46986495/

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