gpt4 book ai didi

javascript - || 的和 NaN 运算符。它们到底是如何运作的?

转载 作者:行者123 更新时间:2023-12-01 03:40:43 25 4
gpt4 key购买 nike

假设我有一个单词数组,我想使用一个对象来获取它的计数。我试过这个:

const results = {};

const words = ["word", "hello", "code", "five", "hello", "word", "new", "code"];

words.forEach( word => {
results[word] = results[word] + 1 || 1;
});

结果在本例中返回:

{ word: 2, hello: 2, code: 2, five: 1, new: 1 }

NaN === falsefalseresults[word] + 1 => NaN。我不太明白为什么结果不是:

{ word: NaN, hello: NaN, code: NaN, five: NaN, new: NaN }

有人愿意解释一下吗? :)

最佳答案

results[word]results 不包含 word 时,未定义。虽然 NaN === falsefalse,但它仍然是一个假值(!!NaNfalse)。

因此,结果[字] + 1 || 1 = 未定义 + 1 || 1 = NaN || 1 = 1

关于javascript - || 的和 NaN 运算符。它们到底是如何运作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43905510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com