Rumah >hujung hadapan web >tutorial js >Penjelasan terperinci tentang pengetahuan yang berkaitan tentang tatasusunan dalam JavaScript_JavaScript
Buat tatasusunan
Pengisytiharan tatasusunan dalam js boleh dilakukan dengan cara berikut:
var arr = []; // 简写模式 var arr = new Array(); // new一个array对象 var arr = new Array(arrayLength); // new一个确定长度的array对象
Perlu diingatkan:
Berikan contoh jenis elemen yang tidak konsisten dalam tatasusunan:
var arr = [1, 2, 3, 4, 'wangzhengyi', 'bululu']; for (var i = 0; i < arr.length; i ++) { console.log(arr[i]); }
Akses elemen tatasusunan
Nilai indeks tatasusunan JavaScript juga bermula dari 0. Kami boleh mengakses elemen tatasusunan terus melalui subskrip nama tatasusunan.
Kod sampel adalah seperti berikut:
var arr = [1, 2, 3]; console.log(arr[0]); console.log(arr[1]);
Selain itu, adalah disyorkan untuk menggunakan mod gelung berterusan untuk traversal tatasusunan, dan untuk-masuk tidak disyorkan atas sebab tertentu, sila rujuk: Gelung melalui tatasusunan dalam JavaScript
Kod sampel untuk melintasi tatasusunan adalah seperti berikut:
var arr = [1, 2, 3, 4, 'wangzhengyi', 'bululu']; for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); }
Nota:
Dalam kod di atas, pengoptimuman kecil adalah untuk mendapatkan saiz tatasusunan terlebih dahulu, supaya tidak perlu menanyakan saiz tatasusunan setiap kali ia dilalui. Untuk tatasusunan yang sangat besar, ia boleh meningkatkan kecekapan tertentu.
Tambah elemen tatasusunan
Terdapat tiga kaedah untuk menambah elemen baharu pada tatasusunan, iaitu: tolak, nyahshift dan sambung. Di bawah saya akan memperkenalkan ketiga-tiga kaedah ini masing-masing.
tolak
kaedah tolak menambah elemen pada penghujung tatasusunan. Kod sampel adalah seperti berikut:
var arr = []; arr.push(1); arr.push(2); arr.push(3); for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); }
Keputusan pelaksanaan ialah:
1 2 3
nyah anjakan
Kaedah unshift menambah elemen pada kepala tatasusunan. Kod sampel adalah seperti berikut:
var arr = []; arr.unshift(1); arr.unshift(2); arr.unshift(3); for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); }
Keputusan pelaksanaan adalah seperti berikut:
3 2 1
sambungan
Kaedah splice memasukkan elemen baharu pada kedudukan yang ditentukan dalam tatasusunan, dan elemen sebelumnya secara automatik dialihkan kembali secara berurutan. Ambil perhatian bahawa prototaip fungsi sambatan ialah:
array.splice(index, howMany, element...)
howMany menunjukkan bilangan elemen yang akan dipadamkan Jika anda hanya menambah elemen, howMany perlu ditetapkan kepada 0 pada masa ini.
Kod sampel adalah seperti berikut:
var arr = [1, 2, 3, 4]; arr.splice(1, 0, 7, 8, 9); for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); }
Keputusan pelaksanaan adalah seperti berikut:
1 7 8 9 2 3 4
Padamkan elemen tatasusunan
Sama seperti menambahkan elemen pada tatasusunan, terdapat tiga kaedah untuk memadamkan elemen dalam tatasusunan: pop, shift dan splice. Seterusnya, kami akan menerangkan penggunaan ketiga-tiga fungsi ini masing-masing.
pop
Kaedah pop mengalih keluar elemen terakhir dalam tatasusunan. Gabungan push dan pop boleh merealisasikan fungsi tatasusunan yang serupa dengan timbunan (masuk pertama, keluar terakhir). Kod sampel adalah seperti berikut:
var arr = []; arr.push(1); arr.push(2); arr.push(3); while (arr.length != 0) { var ele = arr.pop(); console.log(ele); }
anjakan
Kaedah anjakan mengalih keluar elemen pertama dan elemen dalam tatasusunan dialihkan ke hadapan secara automatik. (Kaedah ini pasti sepadan dengan isu kecekapan, dan kerumitan masa ialah O(n)).
var arr = []; arr.push(1); arr.push(2); arr.push(3); function traverseArray(arr) { for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); } } while (arr.length != 0) { var ele = arr.shift(); traverseArray(arr); }
Semua orang boleh mempertimbangkan hasilnya sendiri.
sambatan
Apabila menambah elemen tatasusunan, kami bercakap tentang sambatan Terdapat parameter howMany dalam prototaip fungsi ini, yang mewakili bilangan elemen yang dipadamkan bermula dari indeks.
Kod sampel adalah seperti berikut:
var arr = [1, 2, 3, 4, 5, 6, 7]; function traverseArray(arr) { for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); } } arr.splice(1, 3); traverseArray(arr);
Hasil pelaksanaan ialah:
1 5 7
Menyalin dan memintas tatasusunan
Sebagai contoh, kodnya adalah seperti berikut:
var arr1 = [1, 2, 3, 4]; var arr2 = arr1;
Pada masa ini, arr2 hanya menyimpan alamat tatasusunan arr1 dalam memori timbunan, dan tidak memohon semula untuk ingatan dalam ingatan timbunan untuk mencipta tatasusunan. Jadi pengubahsuaian kepada arr2 akan menjejaskan arr1 pada masa yang sama. Jadi, bagaimana jika kita perlu menyalin tatasusunan? Ini membawa kepada fungsi slice dan concat yang perlu dipelajari.
hiris
Kepingan di sini adalah sama dengan kepingan dalam sintaks python, kedua-duanya mengembalikan kepingan tatasusunan. Prototaip fungsi hirisan ialah:
array.slice(begin, end)
Mengembalikan semua elemen dari mula hingga akhir Nota bahawa permulaan disertakan tetapi penghujung tidak disertakan.
Lalai bermula bermula dari 0 secara lalai. Hujung lalai adalah ke hujung tatasusunan.
Oleh itu, kita boleh menyalin tatasusunan melalui kod berikut:
var arr1 = [1, 2, 3, 4]; var arr2 = arr1.slice(); arr2[2] = 10000 function traverseArray(arr) { for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); } } traverseArray(arr1); traverseArray(arr2);
Keputusan pelaksanaan adalah seperti berikut:
1 2 3 4 1 2 10000 4
concat
Kaedah concat akan mencipta tatasusunan baharu, dan kemudian meletakkan elemen dalam objek yang memanggilnya (objek yang ditunjuk oleh ini) dan elemen dalam parameter jenis tatasusunan semua parameter dan parameter jenis bukan tatasusunan sendiri ke dalam ini dalam susunan Tatasusunan baharu, dan mengembalikan tatasusunan.
Kod sampel adalah seperti berikut:
var alpha = ["a", "b", "c"]; var number = [1, 2, 3] // 新数组为["a", "b", "c", 1, 2, 3] var complex = alpha.concat(number);