题目:
outputNth( [20, 37, 20, 20, 21], 2 )
//return [20,20,37,21] ( 按原数组出现的先后返回,合并到一起 )
数组中的重复项最多出现N此
function outputNth(array, n){
}
答案:
function outputNth(arr, n) {
var arr2 = []
for (let i = 0; i < arr.length; i++) {
//每次把arr中的某一个发进来
let count = 0; //新数组中 当前项目出现的次数
for (let j = 0; j < arr2.length; j++) {
if (arr2[j] == arr[i]) count++;
}
//如果新数组中出现的次数 小于用户传入的限制次数
if (count < n) {
if (arr2.indexOf(arr[i]) == -1)
arr2.push(arr[i]);
else
arr2.splice(arr2.indexOf(arr[i]) + 1, 0, arr[i]);
}
}
return arr2;
}
console.log(outputNth([20, 37, 20, 20, 21], 2)); //[20,20,37,21]