首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将数组对象的键值对属性转换为单个键值对,并将其再次插入数组

将数组对象的键值对属性转换为单个键值对,并将其再次插入数组
EN

Stack Overflow用户
提问于 2018-08-30 03:32:41
回答 3查看 43关注 0票数 0

我有一个js数组。

代码语言:javascript
复制
var array = [ {no: 50, name: 'Ajinkya'}, {no: 89, name: 'Akshay'}, {no: 29, name: 'Rajesh'}, {no: 15, name: 'Vikram'}, ]

我想把它转换成一个数组

代码语言:javascript
复制
var array = [50:'Ajinkya', 89:'Akshay', 29:Rajesh, 15: 'Vikram']

我已经试过了

代码语言:javascript
复制
array.forEach(
 function(x){
 temp[x['no']] = x['name'];
})

但它没有给出预期的结果

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-30 03:37:31

如果您是说50:'Ajinkya'是第50个元素是'Ajinkya‘数组,那么

代码语言:javascript
复制
[{ 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;
}, []);
票数 1
EN

Stack Overflow用户

发布于 2018-08-30 03:46:44

代码语言:javascript
复制
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;
} 
票数 1
EN

Stack Overflow用户

发布于 2018-08-30 03:49:05

我会将数组简化为一个对象,您可以在其中按id查找项。数组在这里没有实际意义。

代码语言:javascript
复制
    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);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52084865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档