![](/img/trans.png)
[英]How to iterate over the following array of objects inside another object in Javascript?
[英]Iterate over object with some keys and array of objects inside
假設我有這種數據格式:
const matchedProperty = "property1"
const jsonObject = {
"property1": {
param1: '',
param2: '',
param3: '',
data: [
{key: value},
{key: value},
{key: value},
{key: value}
],
param4: ''
},
"propery2": {
param1: '',
param2: '',
param3: '',
data: [
{key: value},
{key: value},
{key: value},
{key: value}
],
param4: ''
}
}
如何檢查此 json 中是否存在該屬性,然后如何僅提取 data[{}] 和 param1?
想不出有用且有效的東西
標題與正文不匹配,所以這里是迭代和直接訪問:
let object = { a: 1, b: 2, c: 3 }
for (let key in object) {
console.log(key + ' = ' + object[key])
}
// a = 1
// b = 2
// c = 3
let vector = ['a', 'b', 'c']
for (let element of vector) {
console.log(element)
}
// a
// b
// c
let vector = ['a', 'b', 'c']
console.log(vector[0]) // a
console.log(vector[1]) // b
console.log(vector[2]) // c
console.log(vector[3]) // undefined
let object = { a: 1, b: 2, c: 3 }
console.log(object["a"]) // 1
console.log(object.a) // 1
console.log(object["b"]) // 2
console.log(object.b) // 2
console.log(object["c"]) // 3
console.log(object.c) // 3
console.log(object["d"]) // undefined
console.log(object.d) // undefined
由於undefined
不會在 if 條件下觸發,但值會觸發,只需編寫if object["key"]
; 如果密鑰存在,它將執行下一個代碼塊,否則不會。 (不建議練習。)
像這樣的東西?
const matchedProperty = "property1" const jsonObject = { "property1": { param1: '', param2: '', param3: '', data: [ {key: 'value'}, {key: 'value'}, {key: 'value'}, {key: 'value'} ], param4: '' }, "propery2": { param1: '', param2: '', param3: '', data: [ {key: 'value'}, {key: 'value'}, {key: 'value'}, {key: 'value'} ], param4: '' } } const result = jsonObject.hasOwnProperty(matchedProperty)?{param1: jsonObject[matchedProperty].param1, data: jsonObject[matchedProperty].data}:{} console.log(result)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.