我有两本字典
old = { C43: 'X13',
C59: 'X13',
C75: 'X14',
C91: 'X14',
C107: 'X16',
C123: 'X17' }
' ' old ' ' '可以有任意数量的条目。
和
new = { C139: 'X17' }
' ' new ' ' '可以有任意数量的条目。
我试图匹配两个字典的值,并将keys
从old
移动到old
和new
中的值匹配的地方。
在新数组中的输出为,
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"
}