如何从对象数组中获取元素(JavaScript)

时间:2019-05-14 14:51:01

标签: javascript arrays object

我有以下对象数组,其中也包含对象,这些对象在控制台中显示为:

Array(2)
0 {GK: {job_numbers: ["56764"]}}
1 {AK: {job_numbers: ["12345", "5678", "78909"]}, MATT: {job_numbers: ["12345"]}}

现在,我要遍历此数组,以使我转到每个对象,然后还遍历内部的元素。

例如,

我想循环访问数组并获取GK及其作业号,然后还获取AK及其作业号以及MATT及其作业号。

2 个答案:

答案 0 :(得分:1)

您可以通过遍历数组中的每个项目,然后遍历每个项目中的键来显示每个键和值:

const arr = [{GK: {job_numbers: ["56764"]}},{AK: {job_numbers: ["12345", "5678", "78909"]}, MATT: {job_numbers: ["12345"]}}]

for(var i in arr) {
    const obj = arr[i];
    Object.keys(obj).forEach((job, index) => {
        console.log(`${job}: ${obj[job].job_numbers}`)
    })
}

答案 1 :(得分:0)

尝试

d.flatMap(o=> Object.keys(o).map(k=> `${k}: ${o[k].job_numbers}`));

let d=[{GK: {job_numbers: ["56764"]}}, {AK: {job_numbers: ["12345", "5678", "78909"]}, MATT: {job_numbers: ["12345"]}}
]

let r = d.flatMap(o=> Object.keys(o).map(k=> `${k}: ${o[k].job_numbers}`));

console.log(r);