我有一個這樣的陣列,我想count
每個元件的頻率計數元件的occurances在一個陣列中的JavaScript
var arr = [1, 5, 7, -1];
function countArray (arr){
var map = [];
for (var i =0; i < arr.length ; i++){
map[arr[i]]++;
}
console.log(map);
}
的console.log
打印[1: NaN, 5: NaN, 7: NaN, -1: NaN]
我預期它打印[1: 1, 5: 1, 7: 1, -1: 1]
我不明白爲什麼我得到NaN
在做之前''++,你需要初始化值'0'。否則,你在做'null + 1',這是NaN(不是數字)。你可以通過在'for'循環的開頭加上if(!map.hasOwnProperty(arr [i])){map [arr [i]] = 0來解決這個問題。 }' – blex
...你是DJ嗎? –
@JoshKG我是單身媽媽的學習編程。 –