- mengurutkan nilai array mulai dari nilai terkecil hingga terbesar
- membuat perulangan dengan dimulai dari elemen kedua pada array sampai dengan elemen terakhir array
- menghapus nilai indeks jika nilainya sama dengan nilai indeks sebelumnya.
Langkah 1
Diasumsikan nama array adalah "arr" lebih jelasnya deklarasi sebagai berikut
var arr:Array = new Array(3,7,10,7,3,8,9,9,11,10);
pada deklarasi array tersebut, elemennya tidak berurutan dan ada beberapa elemen array yang ganda. Kemudian lakukan pengurutan
arr.sort();
maka nilai array sekarang menjadi terurut (3,3,7,7,8,9,9,10,10,11).
Langkah 2
Andaikata kita mempunyai array, tetapi tidak tahu berapa banyak panjang/jumlah elemennya maka untuk mengetahui indeks elemen terakhir maka kita harus mengetahui jumlah/panjang elemen dari array menggunakan arr.length().
var indeksAkhir:int = (arr.length())-1;
Indeks array dimulai dari nol. Misalnya sebuah array panjangnya adalah 3 maka indeks array berurutannya adalah 0,1,2. Pada contoh deklarasi array "arr" di atas panjang elemennya adalah 10 dengan indeks:data sebelum dilakukan sorting (Langkah 1) sebagai berikut { 0:3, 1:7, 2:10, 3:7, 4:3, 5:8, 6:9, 7:9, 8:11, 9:10 }
dan setelah disorting sebagai berikut { 0:3, 1:3, 2:7, 3:7, 4:8, 5:9, 6:9, 7:10, 8:10, 9:11 }
Setelah menentukan indeks terakhirnya, kemudian mari kita buat perulangannya.
var i:int;
for ( i = 1; i <= indeksAkhir; i++ ) {
hapusElemen();
}
Langkah 3
Perulangan/looping pada langkah 2 akan memanggil function hapusElemen() untuk menghapus elemen.
function hapusElemen():void {
if ( arr[i] != arr[i-1] ) {
arr.splice( i, 1);
}
}
Jadi semua baris kodingnya kurang lebih seperti berikut:
Array(3,7,10,7,3,8,9,9,11,10);
var indeksAkhir:int = (arr.length())-1;
var i:int;
arr.sort(Array.NUMERIC);
for ( i = 1; i <= indeksAkhir; i++ ) {
hapusElemen();
}
function hapusElemen():void {
if ( arr[i] != arr[i-1] ) {
arr.splice( i, 1);
}
}
Tidak ada komentar:
Posting Komentar
whoever you are... whatever you say... it's ok