0
波紋管功能的目的是隻輸出從被作爲參數傳遞的陣列的非唯一項目:意外的結果在功能上分離的獨特和非唯一項目
"use strict";
function nonUnique(data){
var tab = [];
for(var d = 0; d < data.length; d++) {
if(typeof(data[d]) == "string"){
tab[d] = data[d].toUpperCase();
}
else{
tab[d] = data[d];
}
}
var count = 0;
var tab_non_unique = [];
var tab_unique = [];
for(var i = 0; i < tab.length; i++){
for(var j = 0; j < tab.length; j++){
if(tab[i] == tab[j]){
count ++;
}
if(count > 1){
tab_non_unique.push(tab[i]);
count = 0;
break;
}
if (count == 1) {
tab_unique.push(tab[i]);
}
}
}
return tab_non_unique;
}
我已經測試功能通過調用它不同的陣列上,但不知何故在
nonUnique([1, 2, 3, 4, 5]);
它無法通過返回:
=> [ 2, 4 ]
我不明白什麼在我的代碼導致2和4提高高於1的計數器,因此最終在tab_non_unique數組中。任何幫助將不勝感激,謝謝。
以及斑點,非常感謝! – Diana380