javascript: снять объект с массива объекта - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть объект, который мне нужно вставить в начало (первый индекс) массива объекта.

const static_stat = {id: null, name: 'UNASSIGNED'};
api_data = [{id:.., name:..},{id:.., name:..},{id:.., name:..}];

Я пытался использовать unshift, я хочу добиться результата ниже, но вместо этого он дает длину массива.

[{id:null, name: 'UNASSIGNED'},{id:.., name:..},{id:.., name:..},{id:.., name:..}]

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Да, вы правы. Метод unshift() добавляет один или несколько элементов в начало массива и возвращает новую длину массива. Но после использования unshift() ваш исходный массив api_data уже обновлен. Просто используйте console.log(api_data), чтобы увидеть обновленный массив с новым static_stat объектом, например:

const static_stat = {id: null, name: 'UNASSIGNED'};
let api_data = [{id: 1, name: 'Jhon'}];

console.log(api_data.unshift(static_stat));

console.log(api_data);
.as-console-wrapper { max-height: 100% !important; top: 0; }
1 голос
/ 30 апреля 2020

Array#unshift изменяет массив и возвращает новую длину массива.


Для получения нового массива вы можете использовать Array#concat

return [static_stat].concat(api_data);

или взять новый массив с расширенными элементами.

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