我有一个js数组。
var array = [ {no: 50, name: 'Ajinkya'}, {no: 89, name: 'Akshay'}, {no: 29, name: 'Rajesh'}, {no: 15, name: 'Vikram'}, ]
我想把它转换成一个数组
var array = [50:'Ajinkya', 89:'Akshay', 29:Rajesh, 15: 'Vikram']
我已经试过了
array.forEach(
function(x){
temp[x['no']] = x['name'];
})
但它没有给出预期的结果
发布于 2018-08-30 03:37:31
如果您是说50:'Ajinkya'
是第50个元素是'Ajinkya‘数组,那么
[{ 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;
}, []);
发布于 2018-08-30 03:46:44
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;
}
发布于 2018-08-30 03:49:05
我会将数组简化为一个对象,您可以在其中按id查找项。数组在这里没有实际意义。
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);
https://stackoverflow.com/questions/52084865
复制相似问题