Metoden JavaScript Array slice () returnerar en grunt kopia av en del av en matris till ett nytt arrayobjekt.
Syntaxen för slice()
metoden är:
arr.slice(start, end)
Här är arr en matris.
slice () Parametrar
Den slice()
metod tar in:
- start (valfritt) - Startindex för valet. Om det inte tillhandahålls börjar valet från start 0 .
- slut (valfritt) - Avslutande index för urvalet (exklusivt). Om det inte tillhandahålls slutar markeringen vid indexet för det sista elementet.
Returvärde från skiva ()
- Returnerar en ny matris som innehåller de extraherade elementen.
Exempel 1: JavaScript slice () -metod
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++' )
Produktion
('JavaScript', 'Python', 'C', 'C ++', 'Java') ('C', 'C ++', 'Java') ('Python', 'C', 'C ++')
Exempel 2: JavaScript-skiva () med negativt index
I JavaScript kan du också använda negativa start- och slutindex. Indexet för det sista elementet är -1 , indexet för det näst sista elementet är -2 och så vidare.
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' )
Produktion
('JavaScript', 'Python', 'C', 'C ++') ('C', 'C ++', 'Java')
Exempel 3: JavaScript-skiva () med objekt som matriselement
De slice()
metod grunda kopior elementen i matrisen på följande sätt:
- Den kopierar objektreferenser till den nya matrisen. ( Till exempel en kapslad matris) Så om det refererade objektet ändras visas ändringarna i den returnerade nya matrisen.
- Det kopierar värdet på strängar och siffror till den nya matrisen.
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 )
Produktion
(namn: 'David', ålder: 23) (namn: 'Levy', ålder: 23)
Rekommenderad läsning: JavaScript Array.splice ()