J'ai un tableau d'objets que je dois reformater en une liste de tableaux dans un format spécifique.

J'ai besoin que ma liste soit formatée comme ceci

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

Mais le plus proche que je suis venu est celui-ci

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

En utilisant ce code

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

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

console.log(newList);

Comment pourrais-je mapper cela correctement?

0
Cienwen 25 avril 2020 à 01:58

3 réponses

Meilleure réponse

Vous pouvez créer un tableau avec les valeurs à l'intérieur de la carte:

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

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

console.log(newList);
1
Mamun 24 avril 2020 à 23:11

Pour garder les choses simples, j'utiliserais Object.values comme telles:

const newList = [];
itemList.map(item => newList.push(Object.values(item)));
0
Edgar Cuarezma 24 avril 2020 à 23:06

Vous pouvez également utiliser destucure pour chaque élément et le mapper à un tableau de ces valeurs:

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

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

console.log(newList);
0
Andriy 24 avril 2020 à 23:06