Assuming I have this data format:
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: ''
}
}
How can I check if the property exists inside this json and after that how can I extract only data[{}] and param1 for example?
Can't think of something that would be helpful and working
Title doesn't match with body, so here's iteration and direct access:
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
Since undefined
won't trigger on an if-condition but values will, just write if object["key"]
; it will execute the next code block if the key exists, otherwise it won't. (Not suggested practice.)
something like this?
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)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.