Заголовок JavaScript и хвост на массиве без мутации Я нашел о действиях массива JavaScript Unshift, shift, push, pop Однако все эти операции мутируют массив. Есть ли способ использовать эти функции, не вызывая мутации исходных данных? Как-то я чувствую, что чтение данных не должно вызывать мутации. Ответ 1 Вы можете использовать: var head = arr[0]; var tail = arr.slice(1); Или в ES6: const [head, ...tail] = arr; Ответ 2 Принятый ответ хорош, но для более функционального подхода: Руководители Я бы использовал find, который возвращает первый элемент, возвращающий значение true-thy в его предикат. Если вы уверены, что ваши значения истинны, вы можете записать его следующим образом: arr.find(Boolean) Если вы хотите получить первое значение, независимо от его значения, вы можете записать его следующим образом: arr.find(_ => true) Хвосты Как и остальные, используйте срез arr.slice(1);
Ответ 1 Вы можете использовать: var head = arr[0]; var tail = arr.slice(1); Или в ES6: const [head, ...tail] = arr;
Ответ 2 Принятый ответ хорош, но для более функционального подхода: Руководители Я бы использовал find, который возвращает первый элемент, возвращающий значение true-thy в его предикат. Если вы уверены, что ваши значения истинны, вы можете записать его следующим образом: arr.find(Boolean) Если вы хотите получить первое значение, независимо от его значения, вы можете записать его следующим образом: arr.find(_ => true) Хвосты Как и остальные, используйте срез arr.slice(1);