Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
133
rated 0 times [  136] [ 3]  / answers: 1 / hits: 16881  / 8 Years ago, tue, december 13, 2016, 12:00:00

I want to search a JSON object to check if it contains string values stored in an array. and figure out the parent elements.



var searchVal = ['name_1a','name_2y','name_3x'];

var json = {
location: {
title1x: {
1: name_1x,
2: name_2x,
3: name_3x,
},
title2y: {
1: name_1y,
2: name_2y,
3: name_3y,
},
}

object: {
title1a: {
1: name_1z,
2: name_2z,
3: name_3z,
},
title2b: {
1: name_1a,
2: name_2a,
3: name_3a,
},
}
};


I want to pass the results into a function. And deal with them separate.



name_1a -> function(title2b, object)
name_2y -> function(title2y, object)
name_3x -> function(title1x, location) etc.


.
This is what I have tried so far. I can't seem to figure out how to gothrough the entire JSON object



var searchVal = ['name_1a','name_2y','name_3x'];
for (var i=0 ; i < searchVal.length ; i++){
for (var k=0 ; k < ????.length ; k++)
{
if (json.???????? == searchVal[i]) {
results.push(???????);
console.log(results);

}
}
}

More From » html

 Answers
18



var searchVal = ['name_1a','name_2y','name_3x'];

var json = {
location: {
title1x: {
1: name_1x,
2: name_2x,
3: name_3x,
},
title2y: {
1: name_1y,
2: name_2y,
3: name_3y,
}
},

object: {
title1a: {
1: name_1z,
2: name_2z,
3: name_3z,
},
title2b: {
1: name_1a,
2: name_2a,
3: name_3a,
}
}
};
var getTitle=function(json,val){
for (var key in json) {
var titles= json[key];
for (var tit in titles) {
var names=titles[tit];
for (var name in names) {
var string=names[name];
if(string===val)
return tit;
}
}
}
}

searchVal.forEach(function(valToSearch){
console.log(getTitle(json,valToSearch));
});




[#59716] Monday, December 12, 2016, 8 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
madelyn

Total Points: 449
Total Questions: 100
Total Answers: 100

Location: Seychelles
Member since Fri, May 7, 2021
3 Years ago
madelyn questions
Wed, Jul 28, 21, 00:00, 3 Years ago
Wed, Jul 14, 21, 00:00, 3 Years ago
Sat, Nov 7, 20, 00:00, 4 Years ago
Thu, Sep 3, 20, 00:00, 4 Years ago
;