JSFiddle - React, Tailwind, and code Playground
by bryandowning
JavaScript
var data = {
item1: 'value1',
item2: 'value2',
group1: {
item1: 'value1',
item2: 'value2'
},
data: data
}
var groups = {
group1: data.group1
};
var testResults = [];
testResults.push(search(data, 'value2'));
console.log(testResults);
function search( data, query ) {
var results = [];
var cache = [];
(function reallySearch(data) {
if (typeof data === 'object') {
/*if (cache.indexOf(data) > -1) {
return;
} else {
cache.push(data);
}*/
for (var key in data) {
if (data.hasOwnProperty(key)) {
var item = data[key];
if (typeof item === 'object') {
reallySearch(item);
}
if (item === query) {
results.push(item);
}
}
}
}
})(data);
return results;
}