开发者问题收集

如何在 React 中用另一个对象键数组替换一个对象键数组

2022-04-04
671

我有一个对象:

{Color: 'val 1', Name: 'val 2', Id: 'val 3'}

我想循环遍历这个对象并检查另一个对象中是否存在任何键,

如果存在,则用另一个对象中匹配的键替换该键。

{color: 'val 1', name: 'val 2', id: 'val 3'}

预期输出为:

{color: 'val 1', name: 'val 2', id: 'val 3'}

只有第一个对象的键会更改为第二个对象的键

1个回答

可以遍历键来检查它是否包含相同的键,但为大写:

for (let key in shouldBeRenamed) {
    if (etalon.hasOwnProperty(key.toLowerCase())) {
        newObj[key.toLowerCase()] = shouldBeRenamed[key];
    } else {
        newObj[key] = shouldBeRenamed[key];
    }
}

示例:

let shouldBeRenamed = {Color: 'val 1', Name: 'val 2', Id: 'val 3', Test: 1};
let etalon = {color: 'val 1', name: 'val 2', id: 'val 3'}

keyToLowerCase =(shouldBeRenamed, etalon) =>
{
const newObj = {};
for (let key in shouldBeRenamed) {
    if (etalon.hasOwnProperty(key.toLowerCase())) {
        newObj[key.toLowerCase()] = shouldBeRenamed[key];
    } else {
        newObj[key] = shouldBeRenamed[key];
    }
}
return newObj
}

console.log(keyToLowerCase(shouldBeRenamed, etalon))
StepUp
2022-04-04