假設我有這種資料格式:
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?
想不出有幫助和作業的東西
uj5u.com熱心網友回復:
像這樣的東西?
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)
uj5u.com熱心網友回復:
標題與正文不匹配,所以這里是迭代和直接訪問:
迭代物件:for..in
let object = { a: 1, b: 2, c: 3 }
for (let key in object) {
console.log(key ' = ' object[key])
}
// a = 1
// b = 2
// c = 3
迭代陣列:for..of
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"]; 如果密鑰存在,它將執行下一個代碼塊,否則不會。(不建議練習。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/368717.html
標籤:javascript 目的
下一篇:用于檢查從模板特化派生的C 概念
