我正在练习编码,而且我还有点新意。在寻找实践问题的解决方案时,我看到循环中使用的这种代码,我很好奇这行代码的作用。
counter[string[i]] = (counter[string[i]] || 0) + 1;
这里是完整的代码,用于计算字符串中最有效的字符,如果这有帮助
var string = "355385",
counter = {};
for (var i = 0, len = string.length; i < len; i += 1) {
counter[string[i]] = (counter[string[i]] || 0) + 1;
}
var biggest = -1, number;
for (var key in counter) {
if (counter[key] > biggest) {
biggest = counter[key];
number = key;
}
}
console.log(number);
答案 0 :(得分:0)
基本上是在说
如果counter[string[i]]
是假的(未定义,0,空字符串,null等),请使用0
添加到1
,否则使用其现有值添加到1并使此添加成为counter[string[i]]
它正在使用逻辑OR运算符||