Metode Array.slice()
mengekstrak elemen-elemen di dalam array terhitung dari indeks diparameter beginIndex
sampai dengan dan tidak termasuk indeks di parameter endIndex
, dan metode Array.slice()
ini akan mengembalikan array baru yang berisi elemen-elemen yang dihasilkan dari operasi pengekstrakan.
Sintaks:
beginIndex
menetapkan indeks di mana pengekstrakan di mulai.endIndex
(opsional) menetapkan indeks di mana pengekstrakan berakhir (elemen yang menjadi indeks batas pengekstrakan berakhir tidak termasuk yang akan dikembalikan metodeArray.slice()
).
Jika parameter endIndex
tidak digunakan, otomatis awal pengekstrakan terhitung dari indeks di parameter beginIndex
sampai dengan posisi indeks elemen terakhir. Jika yang manapun (beginIndex
atau endIndex
) nilainya negatif, nilai negatif itu mengacu pada posisi relatif dari elemen terakhir array.
Metode Array.slice()
adalah metode standard JavaScript 1.2+, JScript 3.0+, ECMAScript 3.0+ dan di dukung Google Chrome Beta+, Firefox 1.0 (Gecko 1.7)+, Internet Explorer 4.0+, Netscape Navigator 4.0+, Opera 3.0+, Safari 1.0+.
Contoh:
Contoh kode di atas akan mengembalikan elemen-elemen array dari elemen kelima yang terakhir sampai dengan elemen kedua yang terakhir.
Contoh di bawah ini awal pengekstrakan di mulai dari indeks ke 1, dan akhir pengekstrakan pada indeks ke 3, jadi elemen yang diekstrak dari elemen diindeks ke 1 sampai dengan elemen diindeks ke 2 saja. Untuk indeks berakhirnya pengekstrakan tidak termasuk elemen yang diekstrak, karena dia hanya menunjukkan indeks akhir pengekstrakan saja:
Contoh di bawah ini hanya beginIndex
saja yang digambarkan dan diberikan nilai positif, maka awal pengekstrakan di mulai dari indeks berdasar beginIndex
sampai indeks elemen yang terakhir di dalam array:
Namun jika memberikan nilai negatif untuk beginIndex
(misalnya, -3), dan tanpa menetapkan endIndex
, itu menyebabkan elemen-elemen yang diekstrak di mulai dari elemen ketiga terakhir sampai dengan elemen terakhir di dalam array:
Conroh di bawah ini beginIndex
dan endIndex
bernilai negatif, dan akan mengembalikan elemen-elemen array dari elemen kelima yang terakhir sampai dengan elemen kedua yang terakhir:
Caranya:
- Karena
beginIndex
bernilai negatif (-5), maka ambil sebanyak lima elemen terakhir di dalam arraynumArr
:[1,2,3,4,5,6,7,8,9,10]; //6,7,8,9,10
- Karena
endIndex
bernilai negatif (-1), maka ambil dan hapus sebanyak satu elemen terakhir di dalam 6,7,8,9,10 -- yaitu elemen 10-lah yang diambil dan dihapus:[6,7,8,9,10]; //10
- Terakhir ekstrak elemen-elemen tersebut di mulai dari elemen kelima yang terakhir sampai dengan elemen kedua yang terakhir:
6,7,8,9
Contoh di bawah ini beginIndex
bernilai positif dan endIndex
adalah bernilai negatif, dan akan mengembalikan elemen-elemen dari indeks ke 5 sampai dengan elemen kedua yang terakhir:
Caranya:
- Karena
begindIndex
bernilai positif, jadi awal pengekstrakan di mulai dari indeks ke 5 (indeks dimulai dari 0 dan bukan 1):[1,2,3,4,5,6,7,8,9,10]; //6,7,8,9,10
- Karena
endIndex
bernilai negatif (-1), maka ambil dan hapus sebanyak satu elemen terakhir di dalam 6,7,8,9,10 -- yaitu elemen 10-lah yang diambil dan dihapus:[6,7,8,9,10]; //10
- Terakhir ekstrak elemen-elemen tersebut di mulai dari elemen diindeks ke 5 sampai dengan elemen kedua yang terakhir:
6,7,8,9
Contoh di bawah ini beginIndex
bernilai negatif dan endIndex
adalah bernilai positif, dan akan mengembalikan elemen-elemen di mulai dari elemen lima yang terakhir sampai dengan dan tidak termasuk elemen diindeks ke 8:
Caranya:
- Karena
begindIndex
bernilai negatif (-5), jadi ambil sebanyak lima elemen terakhir di dalam arraynumArr
:[1,2,3,4,5,6,7,8,9,10]; //6,7,8,9,10
- Karena
endIndex
bernilai positif 8, maka indeks ke 8 adalah akhir dari pengekstrakan:[1,2,3,4,5,6,7,8,9,10]; //9
- Terakhir ekstrak elemen-elemen tersebut di mulai dari elemen lima yang terakhir sampai dengan dan tidak termasuk indeks ke 8, dan hasilnya adalah:
6,7,8
Meskipun dalam ilustrasi di atas ada kata "dihapus", bukan berarti elemen tersebut dihapus dari array numArr
, "dihapus" maksud saya adalah elemen yang nantinya tidak termasuk yang ditampilkan sebagai hasil pengekstrakan.