Как создать простой массив из массива объектов? (взять только первое поле)

Как создать простой массив из массива объектов? Нужно взять только первое поле в объекте. введите сюда описание изображения

Чтобы получить что-то похожее на это

array decs


Ответы (4 шт):

Автор решения: Daniil Loban

в случае если имя поля известно то так:

(очередность полей в объекте не обязательна, но если они не модифицируются то скорее всего будет та которая при создании была)

const arr = [{name :0, b: 'не нужно'}, {name : 1, b: 'тоже не нужно'}]

const firstField = 'name'; 

console.log(arr.map(e => e[firstField]))


// Object.keys(объект)[0] = имя первого поля для объекта 

console.log(arr.map(e => e[Object.keys(e)[0]])) 

const newArray = arr.map(e => e.name)) 

это тоже самое что:

const newArray = [];
for(let i = 0; i < arr.length; i += 1){
   newArray.push(arr[i].name)  
}
→ Ссылка
Автор решения: Инквизитор

Очевидно же - перебрать массив объектов, взять значения первого поля, и сформировать из них новый массив. Осталось лишь решить для себя, какое поле у объекта считать "первым".

var objectsArray = [{
    "name": "1",
    "value": 1
  },
  {
    "name": "2",
    "value": 2
  },
  {
    "name": "3",
    "value": 3
  },
  {
    "name": "4",
    "value": 4
  },
  {
    "name": "7",
    "value": 7
  },
  {
    "name": "10",
    "value": 10
  },
  {
    "name": "9",
    "value": 9
  },
  {
    "name": "6",
    "value": 6
  },
  {
    "name": "11",
    "value": 11
  },
  {
    "name": "8",
    "value": 8
  },
  {
    "name": "12",
    "value": 12
  },
  {
    "name": "5",
    "value": 5
  }
];

var result = [];

for (i = 0; i < objectsArray.length; i++) {
  result[i] = objectsArray[i].name;
}

document.write(result);

П.С. Намеренно даю максимально легкий для понимания вариант ответа.

→ Ссылка
Автор решения: Aziz Umarov

Можно использовать Array.map для перебора массива и получения нужного значения.

let array = [{name: "name1", value:"value1"},{name: "name2", value:"value2"},{name: "name3", value:"value3"},{name: "name4", value:"value4"},{name: "name5", value:"value5"},{name: "name6", value:"value6"}];


let result = array.map(item => item.name);

console.log(result);

→ Ссылка
Автор решения: Михаил Камахин

const arr = [{
  name: 'a',
  value: 1
}, {
  name: 'b',
  value: 2
}, {
  name: 'c',
  value: 3
}];

const arrValues = [];
for (let i = 0; i < arr.length; i++) { // цикл по массиву arr
  const elem = arr[i]; // текущий, итерируемый элемент в массиве, в данном случае это объект с полями value и name
  arrValues.push(elem.value); // добавить в конец массива значение свойства value
}
console.log(arrValues);

→ Ссылка