【发布时间】:2016-06-22 19:51:12
【问题描述】:
如果以前有人问过这个问题,但我找不到答案,我深表歉意。如何循环遍历具有嵌套数组的数组并在控制台中打印出项目出现的实例数?
所以console.log 应该打印出名称“bob”的数字 2,因为“bob”在数组中出现了两次。
这是我的数组以及我目前拥有的:
var names = ["bob", ["steve", "michael", "bob", "chris"]];
function loop(arr, item) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] instanceof Array) {
loop(arr[i], item);
} else {
if (arr[i] == item) {
console.log(arr[i]);
}
}
}
}
loop(names, "bob");
【问题讨论】:
-
您的递归看起来不错。现在您只需要计算实例(并返回该值),而不是
console.logging 它们。试试看! -
也在此处回答:*.com/a/15030117/4494577
标签: javascript arrays recursion