Metoda JavaScript Array slice () returnează o copie superficială a unei porțiuni dintr-o matrice într-un nou obiect matrice.
Sintaxa slice()
metodei este:
arr.slice(start, end)
Aici, arr este o matrice.
slice () Parametri
slice()
Metoda ia în:
- start (opțional) - Indexul inițial al selecției. Dacă nu este prevăzută, selecția începe la începutul 0 .
- end (opțional) - Indexul final al selecției (exclusiv). Dacă nu este prevăzută, selecția se termină la indexul ultimului element.
Returnează valoarea din slice ()
- Returnează o nouă matrice care conține elementele extrase.
Exemplul 1: metoda JavaScript slice ()
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++' )
Ieșire
('JavaScript', 'Python', 'C', 'C ++', 'Java') ('C', 'C ++', 'Java') ('Python', 'C', 'C ++')
Exemplul 2: felie JavaScript () Cu index negativ
În JavaScript, puteți utiliza și indici negativi de început și de sfârșit . Indicele ultimului element este -1 , indicele celui de-al doilea ultim element este -2 și așa mai departe.
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' )
Ieșire
('JavaScript', 'Python', 'C', 'C ++') ('C', 'C ++', 'Java')
Exemplul 3: JavaScript slice () cu obiecte ca elemente de matrice
Cele slice()
Metoda superficiale copiază elementele de matrice în felul următor:
- Copiază referințele obiectelor la noua matrice. ( De exemplu , un tablou imbricat) Deci, dacă obiectul de referință este modificat, modificările sunt vizibile în matricea nouă returnată.
- Copiază valoarea șirurilor și a numerelor în noua matrice.
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 )
Ieșire
(nume: „David”, vârstă: 23) (nume: „Levy”, vârstă: 23)
Lectură recomandată: JavaScript Array.splice ()