我有一个包含未知数量嵌套数组的数组。我有一个要查找 N 的数字,以及一个要查看它是否出现 K 次的数字。我需要使用递归来确定 N 是否等于 K.
下面的代码是我到目前为止想出来的,下面还提供了测试用例。
function doesNumAppearKTimes(arr, N, K, count = 0) {
for(let i = 0;i<arr.length; i++) {
if(Array.isArray(arr[i])) {
doesNumAppearKTimes(arr[i],N,K,count)
} else if(arr[i] === N) {
count++
}
}
return count === K;
}
测试用例示例:
console.log(doesNumAppearKTimes([1,2,[3,4,[5],6],3,7],3,3)); // 'false' console.log(doesNumAppearKTimes([[0,-8,1,[-2,2]],[11,[4],6],2,2],2,3)); // 'true' console.log(doesNumAppearKTimes([10,21,4,9,3,7,4,1],4,1)); // 'false'