首页 > 解决方案 > 如果键存在,则添加到 JS 对象或增加计数

问题描述

如果它不存在,我正在尝试向对象添加一个键,或者如果它已经存在,则增加它的计数。如果新密钥不存在,则以下代码会正确添加它,但如果它已经存在,则不会增加其计数。相反,它返回{UniqueResult1:NaN, UniqueResult2:NaN}.

let detectionHash = {};
    function onDetected(result) {
        detectionHash[result.code]++;
        if(detectionHash[result.code] >= 5) {
          //here's where I want to be
        }
    }

如果密钥已经存在,如何增加密钥的计数?

标签: javascriptincrement

解决方案


您可以取值或默认值零并加一。

一个不存在的属性返回一个undefined,这是虚假的。以下逻辑或||检查该值并取下一个零值进行递增。

detectionHash[result.code] = (detectionHash[result.code] || 0) + 1;

推荐阅读