Home > Net >  Rename Key in JS Object with values from another array
Rename Key in JS Object with values from another array

Time:03-08

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

  • Related