Вызов. Апдейт массива

В комментариях — все возможные варианты добавления элемента в начало и конец массива.

// в начало
var arr;
var temp = [insert];
while (arr.length) {
	temp.push(arr.shift());
}
arr = temp;

arr = arr.concat([insert]); // в конец
arr = arr.slice(1); // с начала
arr = arr.slice(0, arr.length - 1); // с конца

Skripatch

a.push(element)
a.unshift(element)
a.splice(0, 0, element)
a.splice(a.length, 0, element);

Илья Панасенко

a[a.length] = element; // в конец

Neklesa

a = a.concat([element]); // в конец
a.reverse().push(element).reverse(); // в начало
Share
Send
8 comments
Skripatch
a.push(element)
a.unshift(element)
a.splice(0, 0, element)
a.splice(a.length, 0, element);

Хотя куда интереснее задачка переместить элемент с заданным индексом на новый ;)
Дмитрий Подгорный
Есть решение стандартными методами. Кто больше?
Илья Панасенко
самое простое, в конец
a[a.length] = element
Neklesa
a.concat([element]);
Neklesa
a.reverse().push(element).reverse();
//в начало
Skripatch
>>a.concat([element]);
не совсем так. Правильно вот:
a = a.concat([element]);

Ибо concat не изменяет исходный массив.
Дмитрий Подгорный
Точно. Исправил
Neklesa
(element + ‘,’ + a).split(‘,’); //в начало
(a + ‘,’ + element ).split(‘,’); //в конец
Дмитрий Подгорный
Узкий сектор массивов захватится. Условия должны соблюстись:
1. в массиве только строки и добавляется строка
2. в строках нет запятых
Neklesa
можно числа
Дмитрий Подгорный
Они преобразуются в строки при split-е
Tserkovniy
Как то сложно, но как то так:

var fruits = [“Banana”, “Orange”, “Apple”, “Mango”],
new_fruits_col = ‘Kiwi’;
new_fruits_col += ‘,’;
for ( var i = 0; i <= fruits.length+2; i+=1 ) {
new_fruits_col += fruits.pop();
new_fruits_col += ‘,’;
}
fruits = new_fruits_col.split(‘,’);
fruits.pop();
console.log( fruits );
Дмитрий Подгорный
Сработает, но ограничения такие-же, как и в случае Neklesa выше.
Popular