Skip to content

Instantly share code, notes, and snippets.

@parag-thoughti
Forked from shakhal/find_values.js
Created November 24, 2022 15:23
Show Gist options
  • Save parag-thoughti/af69d610ffffa81f13ffb4522d860523 to your computer and use it in GitHub Desktop.
Save parag-thoughti/af69d610ffffa81f13ffb4522d860523 to your computer and use it in GitHub Desktop.
Find values in JSON by key, recursively
function findValues(obj, key){
return findValuesHelper(obj, key, []);
}
function findValuesHelper(obj, key, list) {
if (!obj) return list;
if (obj instanceof Array) {
for (var i in obj) {
list = list.concat(findValuesHelper(obj[i], key, []));
}
return list;
}
if (obj[key]) list.push(obj[key]);
if ((typeof obj == "object") && (obj !== null) ){
var children = Object.keys(obj);
if (children.length > 0){
for (i = 0; i < children.length; i++ ){
list = list.concat(findValuesHelper(obj[children[i]], key, []));
}
}
}
return list;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment