使用另一个数组中的值重命名JS对象中的键



我想用数组的名称重命名对象中的键

let title = [
'Total Cryptocurrencies',
'Total Markets',
'Total Exchanges',
'Total Market Cap',
'Total 24h Volume', 
];
var obj = {
1: 5,
2: 7,
3: 0,
4: 0,
5: 0,
};

所以最后我想要我的对象是这样的:

var obj = {
'Total Cryptocurrencies': 5,
'Total Markets': 7,
'Total Exchanges': 0,
'Total Market Cap': 0,
'Total 24h Volume': 0,
};

您可以使用for循环来执行此操作,如下所示。

let title = [
'Total Cryptocurrencies',
'Total Markets',
'Total Exchanges',
'Total Market Cap',
'Total 24h Volume', 
];
var obj = {
1: 5,
2: 7,
3: 0,
4: 0,
5: 0,
};
var newObj = {};
for(i = 0; i < title.length; i++) {
newObj[title[i]] = obj[(i+1).toString()];
}
var obj = newObj;

不确定这是否是最佳解决方案,但您可以尝试

obj= title.reduce((prev, curr, idx) => {return {...prev, [curr]: obj[idx+1]} }, {});

假设obj的键将是数字,则将与标题索引完美映射

最新更新