比较Google apps脚本中的两个字典



我有两本字典

old = { C43: 'X13',
C59: 'X13',
C75: 'X14',
C91: 'X14',
C107: 'X16',
C123: 'X17' }

' ' old ' ' '可以有任意数量的条目。

new = { C139: 'X17' }

' ' new ' ' '可以有任意数量的条目。

我试图匹配两个字典的值,并将keysold移动到oldnew中的值匹配的地方。

在新数组中的输出为,

new_array = [ C123 ]

我试了下面的,但我做得不对,请指导

var new_array = [];
for (var key in old) {
var check_matching_value = old[key] === new[key]
if (check_matching_value == true) {
new_array.push(key);
}
}
console.log(matchingKeys);

使用Array.filter(),像这样:

function test() {
const oldDict = {
C43: 'X13',
C59: 'X13',
C75: 'X14',
C91: 'X14',
C107: 'X16',
C123: 'X17',
};
const newDict = { C139: 'X17', };
const newValues = Object.values(newDict);
const newArray = Object.keys(oldDict)
.filter(key => newValues.includes(oldDict[key]));
console.log(newArray); // "C123"
}

最新更新