请考虑这个JS函数。
我看到了类似的问题,但是无法理解。
我看到了类似的问题,但是无法理解。
function a (ResultArray){
var counts={};
for ( p = 0; p < ResultArray.length; p++){
counts[ResultArray[p]] = (counts[ResultArray[p]] + 1) || 1;
}
return counts;
}
var arr = ["a","b","c","d","a","b","e"];
var res = new a(arr);
console.log(res)
它正常工作并给出计数。我需要了解它如何给出计数,特别是(counts[ResultArray[p]] + 1) || 1;
部分。 +1
和||
的作用是什么。
1
。说实话,这是一行非常奇怪的代码。 - byxor+1
表示将 1 加到counts[ResultArray[p]]
中,||
是真值检查:如果counts[ResultArray[p]] + 1
为NaN、undefined、null 或 0
,则表达式将求值为1
。详情请参见 此处 的帖子。 - Patrick Barr