我正在爲數組實現一個直方圖函數,以便返回一個對象,該對象計算一個項目在該數組中出現的次數。然而,無論何時運行此代碼,我都會遇到一條錯誤消息,表明「in」運算符不能用於在對象內進行搜索。使用「in」運算符編譯直方圖的正確方法是什麼?
var histogram = function(collection) {
collection.reduce(function(combine, item){
if(item in combine){
combine[item]++;
} else{
combine[item] = 1;
}
}, {});
}
var arr = "racecar".split("");
console.log(hist(arr));
我猜這裏的問題是由in還是reduce引起的,但我找不出它是哪一個。有任何想法嗎?
您可能想要避免[in operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in),它可能不會達到您的預期。 –