如何更改JavaScript对象的字段名称?

3
假设我们有两个Javascript对象和一个数组:
var rawData = {
    "dModel": "Deluxe",
    "sizeMB": 256,
};

var displayNames = {
    "dModel": "Device Model",
    "sizeMB": "Size(MB)"
};

var fieldNames = ["dModel", "sizeMB"];

我希望根据displayNames中的映射,更改rawData中的字段名称,最终结果应为:
var data = {
    "Device Model": "Deluxe",
    "Size(MB)": 256,
};

谢谢!

2个回答

1
迭代rawData以构建新的data对象,并使用displayNames作为新属性名称的查找表:
var data = {};
for (var p in rawData)
    data[displayNames[p]] = rawData[p];

2
您正在创建一个全局变量 p - Bart

1
for (var oldKey in displayNames)
{
    var newKey = displayNames[oldKey];
    rawData[newKey] = rawData[oldKey];
    delete rawData[oldKey];
}

只有当 displayNames 不包含已经存在于 rawData 中的键时,此代码才有效。尽管 OP 请求更改 rawData 的字段名,但创建一个新对象更加安全。 - Bart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接