【发布时间】:2021-09-05 17:24:42
【问题描述】:
我遇到了这段代码,它检查数组中某个元素的出现次数是否大于指定的次数,如果是,它将删除该数字:
function deleteNth(arr,x) {
var cache = {};
return arr.filter(function(n) {
cache[n] = (cache[n]||0) + 1;
return cache[n] <= x;
});
}
但我不明白这里的代码:arr.filter(function(n){cache[n] = (cache[n]||0) + 1;return cache[n] <= x;});
谁能用简单的话解释一下这里发生了什么以及cache[n] 部分是如何工作的。
为什么cache[n] 递增?
谢谢!
【问题讨论】:
-
我知道
||运算符的作用。但是我不明白为什么它会增加......
标签: javascript node.js arrays iterator array-filter