Friday, June 22, 2012

slice()

Metode String.slice() mengekstrak substring di dalam string target terhitung dari indeks diparameter beginIndex sampai dengan dan tidak termasuk indeks diparameter endIndex, dan kemudian metode ini akan mengembalikan string baru yang di dalamnya berisi string yang dihasilkan oleh operasi pengekstrakan.

Sintaks:

stringObj.slice(beginIndex, endIndex)
  • beginIndex digunakan untuk menetapkan indeks awal pengekstrakan di mulai.
  • endIndex (opsional) digunakan untuk menetapkan indeks di mana pengekstrakan berakhir.

Jika endIndex tidak digunakan, otomatis awal pengekstrakan terhitung dari beginIndex sampai dengan akhir string. Jika yang manapun (beginIndex atau endIndex) nilainya negatif, nilai negatif itu mengacu pada posisi relatif akhir string.

String.slice() adalah metode standard JavaScript 1.0+, JScript 3.0+, ECMAScript 3.0+ dan di dukung Google Chrome Beta+, Firefox 1.0 (Gecko 1.7)+, IE 4.0+, Netscape Navigator 4.0+, Opera 3.0+, Safari 1.0+.

Contoh:

stringObj.slice(-5,-1);

Contoh kode di atas akan mengekstrak bagian string dari kelima terakhir sampai dengan kedua terakhir.

Contoh di bawah ini awal pengekstrakan di mulai pada indeks ke 1 ("2"), dan pengekstrakan berakhir pada indeks ke 3 ("4"), jadi bagian string yang diekstrak adalah dari karakter di indeks ke 1 sampai dengan karakter di indeks ke 2 saja:

var stringObj = "123456789"; document.write(stringObj.slice(1, 3)); // "2,3"

Contoh di bawah ini hanya beginIndex yang digambarkan dan diberikan nilai positif, maka awal pengekstrakan di mulai dari beginIndex sampai akhir string:

var stringObj = "123456789"; document.write(myNumString.slice(1)); // "23456789"

Namun jika memberikan nilai negatif untuk beginIndex (misalnya, -3), tanpa menetapkan endIndex, itu menyebabkan bagian string yang diekstrak adalah dari karakter ketiga terakhir sampai dengan karakter terakhir di dalam string:

var stringObj = "123456789"; document.write(stringObj.slice(-3)); // "789"

Contoh di bawah ini baik beginIndex dan endIndex adalah bernilai negatif, dan bagian string yang diekstrak adalah dari karakter kelima terakhir sampai dengan karakter kedua terakhir:

var stringObj = "123456789"; document.write(stringObj.slice(-5, -1)); // "5678"

Caranya:

  1. Karena beginIndex bernilai -5, maka ambil sebanyak lima karakter terakhir di dalam string stringObj:

    "123456789"; // "56789"

  2. Karena endIndex bernilai -1, maka ambil dan hapus sebanyak satu karakter terakhir di dalam "56789" -- yaitu karakter "9"-lah yang diambil dan dihapus:

    "56789"; // "9"

  3. Terakhir adalah dengan mengekstrak bagian string tersebut di mulai dari karakter kelima terakhir sampai dengan karakter kedua terakhir:

    "5678"

Contoh di bawah ini beginIndex bernilai positif dan endIndex adalah bernilai negatif, dan bagian string yang diekstrak adalah dari indeks ke 5 sampai dengan karakter kedua yang terakhir:

var stringObj = "123456789"; document.write(stringObj.slice(5, -1)); // "678"

Caranya:

  1. Karena beginIndex bernilai 5, jadi awal pengekstrakan di mulai dari indeks ke 5 (indeks di mulai dari 0 dan bukan 1):

    "123456789"; // "6789"

  2. Karena endIndex bernilai -1, maka ambil dan hapus sebanyak satu karakter terakhir di dalam "6789" -- yaitu karakter "9"-lah yang diambil dan dihapus:

    "6789"; // "9"

  3. Terakhir adalah dengan mengekstrak bagian string tersebut di mulai dari karakter diindeks ke 5 sampai dengan karakter kedua terakhir:

    "678"

Contoh di bawah ini beginIndex bernilai negatif dan endIndex bernilai positif, dan bagian string yang diekstrak adalah dari karakter kelima yang terakhir sampai dengan dan tidak termasuk karakter di indeks ke 8:

var stringObj = "123456789"; document.write(stringObj.slice(-5, 8)); // "5678"

Caranya:

  1. Karena beginIndex bernilai -5, jadi ambil sebanyak lima karakter terakhir di dalam string stringObj:

    "123456789"; // "56789"

  2. Karena endIndex bernilai 8, maka posisi indeks ke 8 adalah batas dari pengekstrakan berakhir:

    "123456789"; // "9"

  3. Terakhir adalah dengan mengekstrak bagian string tersebut di mulai dari karakter kelima yang terakhir sampai dengan dan tidak termasuk karakter di indeks ke 8, dan hasilnya adalah:

    "5678"