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

How to map a list of objects into an array of arrays

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

我需要我的列表格式如下

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);

我该如何正确映射它?

您可以使用映射中的值创建数组:

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

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

console.log(newList);

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

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

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

console.log(newList);

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

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