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
CodePudding user response:
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)
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>
CodePudding user response:
Title doesn't match with body, so here's iteration and direct access:
Iterating over Objects: 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
Iterating over Arrays: for..of
let vector = ['a', 'b', 'c']
for (let element of vector) {
console.log(element)
}
// a
// b
// c
Accessing Array Values At Position
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
Accessing Object Values By Key
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
Check if Exists
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.)