如何将对象列表映射到数组数组

时间:2020-04-24 22:58:58

标签: javascript arrays map-function

我有一个对象数组,需要将其重新格式化为特定格式的数组列表。

我需要这样格式化我的列表

list: [
        [ "B", "A" ],
        [ "F", "E" ],
    ]

但是我最接近的是这个

list: ["B A", "F E"]

使用此代码

const itemList = [
    {"ProductName":"A",
        "Sku":"B",},
    {"ProductName":"E",
        "Sku":"F",}
];

const newList = itemList.map(item => `${item.Sku} ${item.ProductName}`);

console.log(newList);

我该如何正确映射?

3 个答案:

答案 0 :(得分:1)

您可以使用map内的值创建数组:

const itemList = [
    {"ProductName":"A",
        "Sku":"B",},
    {"ProductName":"E",
        "Sku":"F",}
];

const newList = itemList.map(item => [item.Sku, item.ProductName]);

console.log(newList);

答案 1 :(得分:0)

您还可以对每个项目使用destucure并将其映射到这些值的数组:

const itemList = [
  {
    ProductName: 'A',
    Sku: 'B'
  },
  {
    ProductName: 'E',
    Sku: 'F'
  }
];

const newList = itemList.map(({ProductName, Sku}) => [
  Sku,
  ProductName
]);

console.log(newList);

答案 2 :(得分:0)

为简单起见,我将这样使用Object.values:

const newList = [];
itemList.map(item => newList.push(Object.values(item)));
相关问题