En el siguiente ejemplo, splice().splice() no funcionó. ¿Qué me estoy perdiendo? ¿Cómo puedo encadenar dos métodos de empalme en una sola línea? ¡Gracias por cualquier consejo!
function test() { var data = [0,1,2,3,4,5]; data.splice(0,2).splice(-1); // Removed only the first two elements, but not the last element. console.log(data) // Returned [ 2, 3, 4, 5 ] var data = [0,1,2,3,4,5]; data.splice(0,2); // Removed the first two elements. data.splice(-1); // Removed the last element. console.log(data) // Returned [ 2, 3, 4 ] }splice devuelve los elementos eliminados, por lo que encadenarlos en una sola declaración realmente no funcionará: no desea operar en los elementos eliminados, desea operar en la matriz original en ambas ocasiones.
Por lo general, en este tipo de situación, el enfoque correcto es usar slice en su lugar, que es más fácil de trabajar (simplemente especifique un índice de inicio (inclusivo) y final (exclusivo)) y es más funcional (obtiene una nueva matriz en su lugar de mutar uno existente; es bueno evitar la mutación cuando sea posible, hace que el código sea más comprensible).
const data = [0,1,2,3,4,5]; console.log(data.slice(2,5));