I have problem with get string in JSON data. Format as below:
[
{ "name": "Alice", "age": "20" },
{ "id": "David", "last": "25" },
{ "id": "John", "last": "30" }
]
Sometime it changes position together, John from 3rd place go to 2nd place:
[
{ "name": "Alice", "age": "20" },
{ "name": "John", "age": "30" },
{ "name": "David", "age": "25"}
]
If i use data[3].age to get John's age, and data change position, I will get David's age.
Is there any method I can use to find the object with name David and get the age value?
You can use array.find() method as,
var myArray = [
{
"name": "Alice",
"age": "20"
},
{
"name": "John",
"age": "30"
},
{
"name": "David",
"age": "25"
}
];
//Here you are passing the parameter name and getting the age
//Find will get you the first matching object
var result = myArray.find(t=>t.name ==='John').age;
console.log(result);
It's better to use array.filter() (better browser support)
myArray.filter(function(el){return el.name == "John"})[0].age
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With