Самый простой способ преобразовать объект в массив - PullRequest
0 голосов
/ 17 июня 2020

У меня есть объект, который выглядит так:

 descriptions: {
    1: {
      description: "abc"
    },
    2: {
      description: "def"
    },
    3: {
      description: "ghi"
    }
  }

Есть ли простой способ преобразовать этот объект в такой массив?:

 descriptions: ["abc","def","ghi"]

Ответы [ 4 ]

3 голосов
/ 17 июня 2020

Вы можете сопоставить значения объекта с помощью flatMap.

var descriptions = { 1: { description: "abc" }, 2: { description: "def" }, 3: { description: "ghi" } },
    values = Object.values(descriptions).flatMap(Object.values);

console.log(values);
2 голосов
/ 17 июня 2020

const obj = {
  descriptions: {
      1: {
        description: "abc"
      },
      2: {
        description: "def"
      },
      3: {
        description: "ghi"
      }
    }
};

console.log(Object.values(obj.descriptions).map(({description}) => description))
0 голосов
/ 17 июня 2020

или что-то вроде этого

function f(obj) {
    let array = []
    for (const prop in obj) {
     array.push(Object.values(obj[prop])[0])

    }
    return array
    }
0 голосов
/ 17 июня 2020
descriptions= {
  1: {
    description: "abc"
  },
  2: {
    description: "def"
  },
  3: {
    description: "ghi"
  }
}

var keys = Object.keys(descriptions);
var values = keys.map((key) => descriptions[key].description);

values будет массивом, который вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...