在插入阵列之前检查是否重复


keysArray: ['key1', 'key2', ..., 'keyn']
originalObject: key-value pairs { key1: value1, key2: value2, ..., keyn: valuen}
updatedObject: pairs with up to n updates values { key1: updatedValue1, key2: value2, key3: updateValue3, ..., keyn: valuen}

我只想将updatedObject的更新元素传递给updateObjectFunction()。但是,我不想传入一个键出现两次并具有不同值的元素。

到目前为止,我已经:

for (key of keysArray) {
if originalObject[key] !== updatedObject[key] {
updatedElements[key] = updatedObject[key];
}
}
updateObjectFunction(updatedElements);

如何避免将重复元素有效地推入updatedElements?或者我是否应该重新设计流程以提高效率。我只想使用本机JavaScript函数。我曾考虑使用some()来过滤for循环中的重复元素,但我认为这太慢了。

您可以使用Set来删除重复的密钥:

Set对象允许您存储任何类型的唯一值,无论是基元值还是对象引用。

// "one" is in the list twice:
const arr = ['one', 'two', 'three', 'one', 'five']
console.log([...new Set(arr)])

最新更新