I have a js array
var array = [ {no: 50, name: 'Ajinkya'}, {no: 89, name: 'Akshay'}, {no: 29, name: 'Rajesh'}, {no: 15, name: 'Vikram'}, ]
want to convert it into an array
var array = [50:'Ajinkya', 89:'Akshay', 29:Rajesh, 15: 'Vikram']
I have tried this
array.forEach(
function(x){
temp[x['no']] = x['name'];
})
But its not giving expected result
You could map objects with the wanted key/value pairs and assign them to a single object.
Methods used:
Object.assign
for creating a single object out of some objects, ...
for taking an array as parameters, Array#map
for transforming the objects, var array = [{ no: 50, name: 'Ajinkya' }, { no: 89, name: 'Akshay' }, { no: 29, name: 'Rajesh' }, { no: 15, name: 'Vikram' }], object = Object.assign(...array.map(({ no, name }) => ({ [no]: name }))); console.log(object);
If you mean that 50:'Ajinkya'
is array which 50th element is 'Ajinkya' then
[{ no: 50, name: 'Ajinkya' },
{ no: 89, name: 'Akshay' },
{ no: 29, name: 'Rajesh' },
{ no: 15, name: 'Vikram' }].reduce((acc, prev) => {
acc[prev.no] = prev.name;
return acc;
}, []);
const array1 = [ {no: 50, name: 'Ajinkya'}, {no: 89, name: 'Akshay'}, {no: 29, name: 'Rajesh'}, {no: 15, name: 'Vikram'} ];
const array2 = {} ;
for (const itm of array1) {
array2[itm.no] =itm.name;
}
I would reduce the array into a object where you can look up the items by id. An array doesn't really make sense here.
const array = [ {no: 50, name: 'Ajinkya'}, {no: 89, name: 'Akshay'}, {no: 29, name: 'Rajesh'}, {no: 15, name: 'Vikram'}, ]; const newStructure = array.reduce((acc, {no,name}) => { acc[no] = name; return acc; }, {}); console.log(newStructure);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.