【发布时间】:2017-10-09 20:55:09
【问题描述】:
假设我有一个单词数组,我想使用一个对象来获取它的计数。我试过这个:
const results = {};
const words = ["word", "hello", "code", "five", "hello", "word", "new", "code"];
words.forEach( word => {
results[word] = results[word] + 1 || 1;
});
results 在这种情况下返回:
{ word: 2, hello: 2, code: 2, five: 1, new: 1 }
NaN === false 是 false 和 results[word] + 1 => NaN。我不太明白为什么结果不会是:
{ word: NaN, hello: NaN, code: NaN, five: NaN, new: NaN }
有人愿意解释吗? :)
【问题讨论】:
-
@JaromandaX 是,因为
undefined + 1是NaN。
标签: javascript arrays object nan enumerable