El método JavaScript Array slice () devuelve una copia superficial de una parte de una matriz en un nuevo objeto de matriz.
La sintaxis del slice()
método es:
arr.slice(start, end)
Aquí, arr es una matriz.
Parámetros de slice ()
El slice()
método incluye:
- start (opcional): índice de inicio de la selección. Si no se proporciona, la selección comienza en el inicio 0 .
- end (opcional): índice de finalización de la selección (exclusivo). Si no se proporciona, la selección termina en el índice del último elemento.
Valor de retorno de slice ()
- Devuelve una nueva matriz que contiene los elementos extraídos.
Ejemplo 1: método slice () de JavaScript
let languages = ("JavaScript", "Python", "C", "C++", "Java"); // slicing the array (from start to end) let new_arr = languages.slice(); console.log(new_arr); // ( 'JavaScript', 'Python', 'C', 'C++', 'Java' ) // slicing from the third element let new_arr1 = languages.slice(2); console.log(new_arr1); // ( 'C', 'C++', 'Java' ) // slicing from the second element to fourth element let new_arr2 = languages.slice(1, 4); console.log(new_arr2); // ( 'Python', 'C', 'C++' )
Salida
('JavaScript', 'Python', 'C', 'C ++', 'Java') ('C', 'C ++', 'Java') ('Python', 'C', 'C ++')
Ejemplo 2: segmento de JavaScript () con índice negativo
En JavaScript, también puede utilizar índices de inicio y finalización negativos . El índice del último elemento es -1 , el índice del penúltimo elemento es -2 , y así sucesivamente.
const languages = ("JavaScript", "Python", "C", "C++", "Java"); // slicing the array from start to second-to-last let new_arr = languages.slice(0, -1); console.log(new_arr); // ( 'JavaScript', 'Python', 'C', 'C++' ) // slicing the array from third-to-last let new_arr1 = languages.slice(-3); console.log(new_arr1); // ( 'C', 'C++', 'Java' )
Salida
('JavaScript', 'Python', 'C', 'C ++') ('C', 'C ++', 'Java')
Ejemplo 3: segmento de JavaScript () con objetos como elementos de matriz
El slice()
método superficial copia los elementos de la matriz de la siguiente manera:
- Copia referencias de objetos a la nueva matriz. ( Por ejemplo , una matriz anidada) Entonces, si se modifica el objeto referenciado, los cambios son visibles en la nueva matriz devuelta.
- Copia el valor de cadenas y números en la nueva matriz.
let human = ( name: "David", age: 23, ); let arr = (human, "Nepal", "Manager"); let new_arr = arr.slice(); // original object console.log(arr(0)); // ( name: 'David', age: 23 ) // making changes to the object in new array new_arr(0).name = "Levy"; // changes are reflected console.log(arr(0)); // ( name: 'Levy', age: 23 )
Salida
(nombre: 'David', edad: 23) (nombre: 'Levy', edad: 23)
Lectura recomendada: JavaScript Array.splice ()