数组递归函数中的简单javascript
因此,对于PHP,我有一组方便的函数,用于在多维数组上执行in_数组:数组递归函数中的简单javascript,javascript,arrays,recursion,Javascript,Arrays,Recursion,因此,对于PHP,我有一组方便的函数,用于在多维数组上执行in_数组: function in_array_r($needle, $haystack, $strict = false) { foreach ($haystack as $item) { if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $
function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
然而,我试图用javascript重新创建一个类似的脚本,但我似乎无法让它正常工作。。这就是我所拥有的:
function in_array_r(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] == needle){
return true;
}
if(typeof haystack[i]=='object'){
if(in_array_r(needle, haystack[i])){
return true;
}
}
}
return false;
}
数组中的函数(针、草垛){
var length=haystack.length;
对于(变量i=0;i约翰这很管用。。数字键和非数字键。。啊
function in_array_r(needle, haystack) {
var length = haystack.length;
for(var key in haystack) {
if(haystack[key] == needle){
return true;
}
if(typeof haystack[key]=='object'){
if(in_array_r(needle, haystack[key])){
return true;
}
}
}
return false;
}
这很有效。。数字键和非数字键。。啊
function in_array_r(needle, haystack) {
var length = haystack.length;
for(var key in haystack) {
if(haystack[key] == needle){
return true;
}
if(typeof haystack[key]=='object'){
if(in_array_r(needle, haystack[key])){
return true;
}
}
}
return false;
}
你得到了什么结果?错误消息?要尝试的样本数据以及预期结果也会很有用。你有一些测试用例吗?啊哈。。如果键不是数字,则会失败。您得到的结果是什么?错误消息?要尝试的样本数据以及预期结果也会很有用。你有一些测试用例吗?啊哈。。如果密钥不是数字,则会失败。。