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

У меня есть массив типа: -

const arr = ['abc','def','ghi'];

, но я хочу этот массив в виде

const arr2 = [
    {value: 'abc'},
    {value: 'def'},
    {value: 'ghi'},
];

У меня нет идеи сделать это.

Ответы [ 4 ]

2 голосов
/ 17 апреля 2020

используйте функцию карты для генерации нового массива с нужным вам типом

для справки, Array.prototype.map()

const arr=['abc','def','ghi'];
const arr2 = arr.map(item => ({value: item}));
console.log(arr2);
1 голос
/ 17 апреля 2020

Вы можете попробовать использовать Array.prototype.map () :

Метод map() создает новый массив, заполненный результатами вызова предоставленной функции для каждого элемент в вызывающем массиве.

var arr = ['abc','def','ghi'];
arr = arr.map(value => ({value}));
console.log(arr);
0 голосов
/ 17 апреля 2020

Более элегантный способ, который я предпочитаю:

Array.from(arr, (v) => {return {value: v};})
0 голосов
/ 17 апреля 2020

Вы можете использовать map для преобразования каждого элемента массива в другое значение.

const arr = ['abc', 'def', 'ghi'];

const arr2 = arr.map(value => ({ value: value })

// const arr2 = [
//   { value: "abc" },
//   { value: "def" },
//   { value: "ghi" }
// ];

Если вы хотите быть умным, вы можете упростить это до

const arr2 = arr.map(value => ({ value })

См. Array.prototype.map

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

...