Перенос первого элемента массива в конец
Помогите написать функцию, которая принимает массив чисел, например [1,2,3,4,5], и переносит первый элемент массива в конец
Например можно засунуть первый элемент в конец, затем удалить первый элемент
var arr = [1, 2, 3, 4, 5];
arr.splice(arr.length - 1, 1, arr[0]);
arr.shift();
console.log(arr);
подойдет ли такая функция?
Ответы (3 шт):
Автор решения: SwaD
→ Ссылка
Функции, которые перемещают первый элемент в конец массива.
Функции change и changeSp мутируют исходный объект, фукнция changeSl возвращает новый массив, без мутирования исходного
const arr = [1,2,3,4,5];
function change(arr) {
arr.push(arr[0])
arr.shift()
return arr
}
function changeSp(arr) {
arr.push(arr.splice(0,1)[0]);
return arr
}
function changeSl(arr) {
const x = arr.slice(1,arr.length);
x.push(arr[0])
return x;
}
console.log(change(arr));
console.log(changeSp(arr));
console.log(changeSl(arr));
Автор решения: EzioMercer
→ Ссылка
Можно сделать двумя способами:
Без мутации исходного массива
const arr = [1, 2, 3, 4, 5]; const rearrangeWithMutatiton = (array) => { array.push(array.shift()); return array; } console.log('After rearrange without mutation', rearrangeWithMutatiton(arr).toString()); console.log('Before rearrange without mutation', arr.toString());С мутацией исходного массива
const arr = [1, 2, 3, 4, 5]; const rearrangeWithoutMutatiton = (array) => [...array.slice(1), array[0]]; console.log('After rearrange with mutation', rearrangeWithoutMutatiton(arr).toString()); console.log('Before rearrange with mutation', arr.toString());
Автор решения: Krusty master
→ Ссылка
const mas = [1,2,3,4,5]
a = mas.shift() mas.push(a)
console.log(mas)