Я думаю, что многие инструкции JavaScript плохо продуманы для функционального программирования.Splice возвращает удаленный элемент, где в большинстве случаев вам нужен уменьшенный массив.Это плохо.
Представьте, что вы делаете рекурсивный вызов и вам необходимо передать массив с одним элементом меньше, возможно, без текущего индексированного элемента.Или представьте, что вы делаете другой рекурсивный вызов и должны передать массив с нажатым элементом.
Ни в одном из этих случаев вы не можете сделать myRecursiveFunction(myArr.push(c))
или myRecursiveFunction(myArr.splice(i,1))
.Первый идиот фактически передаст длину массива, а второй идиот передаст удаленный элемент в качестве параметра.
Итак, что я делаю на самом деле ... Для удаления элемента массива и передачи полученного значения вфункцию в качестве параметра в то же время я делаю следующим образом
myRecursiveFunction(myArr.slice(0,i).concat(a.slice(i+1)))
Когда дело касается толчка, это более глупо ... Мне нравится,
myRecursiveFunction((myArr.push(c),myArr))
Я верю вВ надлежащем функциональном языке метод, изменяющий объект, к которому он вызван, должен возвращать ссылку на сам объект в результате.