I want to rename the keys in the object with the names of the array
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,
};
So in the end I want to have my object like this:
var obj = {
'Total Cryptocurrencies': 5,
'Total Markets': 7,
'Total Exchanges': 0,
'Total Market Cap': 0,
'Total 24h Volume': 0,
};
CodePudding user response:
You could do it with a for
loop as follows.
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;
CodePudding user response:
Not sure if it the best solution but you can try
title.reduce((prev, curr, idx) => {return {...prev, [curr]: obj[idx 1]} }, {});
Assuming obj's keys will be numbers will map perfectly with the title indexes