我想用数组的名称重命名对象中的键
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的键将是数字,则将与标题索引完美映射