gpt4 book ai didi

javascript - 递归循环数组并返回项目数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:34 27 4
gpt4 key购买 nike

如果之前有人问过这个问题,但我找不到答案,我深表歉意。如何循环遍历具有嵌套数组的数组并在控制台中打印出项目出现的实例数?

因此 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");

最佳答案

在这里,请注意,您可以在内部保留计数器值,以保持代码的其余部分更简洁:

var names = ["bob", ["steve", "michael", "bob", "chris"]];

function loop(arr, item) {
var result = 0;
for (var i = 0; i < arr.length; i++) {
if (arr[i] instanceof Array) {
result += loop(arr[i], item);
} else {
if (arr[i] == item) {
result++;
}
}
}
return result;
}


var result = loop(names, "bob");
console.log(result);

关于javascript - 递归循环数组并返回项目数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35874640/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com