Как зафиксировать определенные элементы массива на определенных индексах?
Есть условная корзина и список товаров по категориям: Булки - начинки - соусы. При нажатии на булку, в массив должна добавиться булка: первая - на верх, вторая - вниз. И если пользователь начинает выбирать другие элементы, они должны вставать между первой и второй булками.
Очень долго ломаю голову и не знаю куда двигаться.
Ответы (1 шт):
Автор решения: Pilaton
→ Ссылка
Но это колхоз, написанный чисто для примера. Если это для реального проекта, лучше использовать другое решение, например Object вместо массива.
let arr = [];
arr.splice(-1, 0, 'sausage'); // Добавляем сосиску
arr.unshift('first_bun'); // Добавляем первую булку в начало массива
arr.push('second_bun'); // ...и вторую в конец
// Выше две строки как раз приводят пример как вставить что-то в начало и в конец массива, если в нем уже что-то имелось.
arr.splice(-1, 0, 'sauce'); // Добавляем соус
arr.splice(-1, 0, 'onion'); // Добавляем лук
console.log('arr', arr); // Получаем нечто...[ 'first_bun', 'sausage', 'sauce', 'onion', 'second_bun' ]