如何使用JavaScript从对象数组中创建具有键和值的新数组?

时间:2020-08-28 08:07:40

标签: javascript

我想使用JavaScript使用对象数组从id属性数组创建新数组。

下面是数据

const input = [
    {
        id: '1',
        name: 'name1',
    },
    {
        id: '2',
        name: 'name2',
    },
]

根据上面的输入数据,我想创建一个如下所示的新数组

const output = [
    {id: '1'},
    {id: '2'},
]

我尝试了const output = input.map((s)=> s.id)

这将给出如下输出,

const output = ['1', '2']

但是我也想要密钥ID。我该怎么做?有人可以帮我吗?谢谢。

2 个答案:

答案 0 :(得分:1)

首先在对象中,我们必须使用“,” 不要使用“;” 这是您问题的简单示例

let input = [
    {
        id: '1',
        name: 'name1',
    },
    {
        id: '2',
        name: 'name2',
    },
];

input = input.map(({ id }) => ({ id }));
console.log(input);

答案 1 :(得分:0)

const input = [
    {
        id: '1',
        name: 'name1',
    },
    {
        id: '2',
        name: 'name2',
    },
];

/* one way is to remove name property then you will left with only id */

const result1 = input.map((item) => {
  delete item.name;
  return item;
});

console.log('result1 : ', result1);

/* other way is to create new object with id property and assign item.id */

const result2 = input.map((item) => {
  return {id: item.id};
});

console.log('result2 : ', result2);