【发布时间】:2017-10-12 15:20:58
【问题描述】:
我有 2 个对象,一个包含我想要的数据,但我也得到了一些不需要的 API 名称,我有第二个对象,它具有正确的名称来替换这些 API 名称。
但是我很难将它们换出,我不确定如何比较对象键并将它们换出。
obj1 = {
Id: 'XXX123CCCVVV',
API_NAME__c : 'Joe',
API_ADDRESS__c : '123 FAKE STREET',
API_DOB__c : '6/6/1966',
Account : 'Johnson & Smith',
Position : 'CEO'
}
obj2 = {
API_NAME__c : 'Name',
API_ADDRESS__c : 'Address',
API_DOB__c : 'Date of birth'
}
我想比较这两个对象的键,在它们匹配的任何地方,将 obj2 的值交换为 obj1 的键,所以 obj1 最终会如下:
obj1 = {
Id: 'XXX123CCCVVV',
Name : 'Joe',
Address : '123 FAKE STREET',
Date of birth : '6/6/1966',
Account : 'Johnson & Smith',
Position : 'CEO'
}
任何人都可以提出一种方法来实现这一点吗?
如果有帮助的话,我目前正在使用 underscore.js。
更新
我非常感谢下面的出色答案,但我想知道是否有可能扩展此逻辑以生成仅包含具有新属性名称的值的第三个对象?
所以我最终会得到以下结果:
obj1 = {
Id: 'XXX123CCCVVV',
Account : 'Johnson & Smith',
Position : 'CEO'
}
obj3 = {
Name : 'Joe',
Address : '123 FAKE STREET',
Date of birth : '6/6/1966',
}
【问题讨论】:
标签: javascript object properties underscore.js