Javascript 将哈希值推送到数组中。要更新同名atttr的计数。散列

Javascript 将哈希值推送到数组中。要更新同名atttr的计数。散列,javascript,jquery,Javascript,Jquery,所以,我将散列放入一个数组中。一些散列将是相同的-包含所有相同的值。在这些情况下,我不希望将哈希推入,而是使用+1的计数更新原始哈希 比如说 var hashes = {}; var newHashes = {}; // in this case, 'h' is a key that CAN exists later on again hashes[h] = { val1: 'val1', val2: 'val2' } jQuery.extend(true, newHashesC

所以,我将散列放入一个数组中。一些散列将是相同的-包含所有相同的值。在这些情况下,我不希望将哈希推入,而是使用+1的计数更新原始哈希

比如说

var hashes = {};
var newHashes = {};

// in this case, 'h' is a key that CAN exists later on again
hashes[h] = {
   val1: 'val1',
   val2: 'val2'
}

jQuery.extend(true, newHashesContainer, h)
someArray.push(h)
嗯。一段时间后,我有了相同的内容,我正在将其推入PUSH_数组函数

if (newHashContainer[h]) hashes[h].count++

//我知道它已经存在,所以现在我想给它添加一个count属性,并在每次输入相同的密钥哈希时递增。我似乎无法将我的大脑围绕在这个问题上。

如果这个属性不存在,你只需要创建它,然后你就可以增加它的价值

因此,如果您已经检查了
散列[h]
是否具有所需的值,并且您只想增加该对象的计数,则可以创建并增加计数,如下所示:

if (newHashContainer[h]) {
    // Assumes that prior code has already make sure
    // that hashes[h] exists
    // Here, we just make sure that the .count property exists
    // and then increment it
    if (!hashes[h].count) {
        hashes[h].count = 0;
    }
    hashes[h].count++
}

您的问题没有明确说明
newHashContainer[h]
的作用,但我假设它确保新的哈希位于
hashs
对象中。如果不是这样,请进一步详细解释您需要帮助的内容或该功能的功能。

很抱歉,我无法投票或接受,因为我没有足够的代表,否则我会。谢谢