访问对象的值 javascript

access values of an object javascript

我是javascript的新手。所以我有这样的基本结构的数据...

{
"status": "active",
"experimental": false,
"expansion": {
    "extension": [
        {
            "valueBoolean": true
        }
    ],
    "contains": [
        {
            "system": "http://snomed.info/sct",
            "code": "8989938493",
            "display": "Acute"
        },
        {
            "system": "http://snomed.info/sct",
            "code": "889080980089",
            "display": "Chronic"
        },
        {
            "system": "http://snomed.info/sct",
            "code": "889080980089",
            "display": "Fragile"
        }
    ]
}

}

我想遍历“包含”并将“显示”的值放入数组中,以便我可以在反应组件中使用它。我目前正在努力实现这一目标。任何帮助将不胜感激。提前致谢。

let res = [];
const obj = {
"status": "active",
"experimental": false,
"expansion": {
    "extension": [
        {
            "valueBoolean": true
        }
    ],
    "contains": [
        {
            "system": "http://snomed.info/sct",
            "code": "8989938493",
            "display": "Acute"
        },
        {
            "system": "http://snomed.info/sct",
            "code": "889080980089",
            "display": "Chronic"
        },
        {
            "system": "http://snomed.info/sct",
            "code": "889080980089",
            "display": "Fragile"
        }
    ]
}
}

obj.expansion.contains.forEach(el => res.push(el.display));

console.log(res)

您可以使用 map 函数来转换数组:

const myObject = {
"status": "active",
"experimental": false,
"expansion": {
    "extension": [
        {
            "valueBoolean": true
        }
    ],
    "contains": [
        {
            "system": "http://snomed.info/sct",
            "code": "8989938493",
            "display": "Acute"
        },
        {
            "system": "http://snomed.info/sct",
            "code": "889080980089",
            "display": "Chronic"
        },
        {
            "system": "http://snomed.info/sct",
            "code": "889080980089",
            "display": "Fragile"
        }
    ]
}
}

const arr = myObject.expansion.contains.map(({display})=>display)
console.log(arr)