我有以下数组:
c = ['foo', 'bar'];
和一个对象
this.foobar = {"foo":{"bar":123}};
如何在我拥有的JSON对象中搜索数组中的每个元素。它需要递归。我正在尝试做的数组的PHP版本将是:
function in_array_recursive($needle, $haystack) {
if(in_array($needle, $haystack))
return true;
foreach($haystack as $elem)
if(is_array($elem) && in_array_recursive($needle, $elem)
return true;
return false;
}
然而,我需要做的是相同但在JavaScript中而不是数组我需要使用JSON。
答案 0 :(得分:1)
您可以执行以下操作,查找与针匹配的键
var foobar = {
"foo": {
"whooop" : {
"bar" : 123
}
}
};
function isInArray(needle, haystack) {
var foundNeedle = false;
for (var key in haystack) {
if (isInArray(needle, haystack[key])) {
foundNeedle = true;
}
if (key == needle) {
foundNeedle = true
}
}
return foundNeedle;
}
var message = "is bar in foobar? result is... " + isInArray("bar", foobar));