Кажется, не существует способа расширить существующий массив JavaScript другим массивом, то есть эмулировать extend
метод Python .
Я хочу добиться следующего:
>>> a = [1, 2]
[1, 2]
>>> b = [3, 4, 5]
[3, 4, 5]
>>> SOMETHING HERE
>>> a
[1, 2, 3, 4, 5]
Я знаю, что есть a.concat(b)
метод, но он создает новый массив вместо простого расширения первого. Я хотел бы алгоритм, который работает эффективно, когда a
значительно больше, чем b
(то есть тот, который не копирует a
).
Примечание: это не дубликат Как добавить что-либо в массив? - цель здесь состоит в том, чтобы добавить все содержимое одного массива в другой и сделать это «на месте», т.е. без копирования всех элементов расширенного массива.
a.push(...b)
. По концепции он похож на лучший ответ, но обновлен для ES6.