我编写了一个代码来创建缩写哈希表及其重复计数,但我的代码增加了超过1步。
var dict={};
function addToDict(str) {
let abr = [str[0], str.length, str.slice(-1)].join('');
return dict[abr] = ++dict[abr] | 1;
}
console.log(
addToDict("salam"),
addToDict("saaam"),
addToDict("Sadegh"),
addToDict("hosein"),
addToDict("hasan"),
addToDict("hesan"),
addToDict("hesan")
)
console.log(dict);
结果是
{ s5m: 1, S6h: 1, h6n: 1, h5n: 1 }
而不是
{ s5m: 2, S6h: 1, h6n: 1, h5n: 3 }
为什么!! ??
答案 0 :(得分:1)
您要做的是使用dict[abr]
IMO增加++dict[abr] || 1
。不应该在这里使用。
答案 1 :(得分:0)
按位运算符将像这样工作。
form
这样就变成了3。
这将有助于您了解" |"的使用操作
您可以使用" ||"运算符,如果您想要增量值或1。