Rumah >hujung hadapan web >tutorial js >Penjelasan terperinci tentang kemahiran operasi_javascript tatasusunan JavaScript

Penjelasan terperinci tentang kemahiran operasi_javascript tatasusunan JavaScript

WBOY
WBOYasal
2016-05-16 15:36:07945semak imbas

Artikel ini memperkenalkan anda kepada pengendalian tatasusunan js dengan sangat terperinci Rakan-rakan yang berminat harus mengkaji artikel ini bersama-sama.

1. Penciptaan tatasusunan

var arrayObj = new Array(); //Buat tatasusunan
var arrayObj = new Array([saiz]); //Buat tatasusunan dan nyatakan panjangnya var arrayObj = new Array([elemen[, elemen[, ...[, elemenN]]]]); //Buat tatasusunan dan tetapkan nilai

Perlu diingatkan bahawa walaupun kaedah kedua mencipta tatasusunan dan menentukan panjangnya, sebenarnya tatasusunan adalah panjang berubah-ubah dalam semua kes, yang bermaksud bahawa walaupun panjang ditentukan sebagai 5, unsur-unsur masih boleh disimpan pada panjang yang ditentukan Jika tidak, sila ambil perhatian: panjangnya akan berubah dengan sewajarnya.

2. Akses kepada elemen tatasusunan

var testGetArrValue=arrayObj[]; //Dapatkan nilai elemen tatasusunan

arrayObj[]= "Ini ialah nilai baharu"; //Tetapkan nilai baharu kepada elemen tatasusunan

3. Menambah elemen tatasusunan

arrayObj. push([item [item [. . . [itemN ]]]]); // Tambah satu atau lebih elemen baharu pada penghujung tatasusunan dan kembalikan panjang tatasusunan yang baharu

arrayObj.unshift([item [item [. . . [itemN ]]]]);// Tambahkan satu atau lebih elemen baharu pada permulaan tatasusunan, elemen dalam tatasusunan dialihkan ke belakang secara automatik dan panjang baharu bagi tatasusunan dikembalikan
arrayObj.splice(insertPos,,[item[, item[, . . . [,itemN]]]]);//Masukkan satu atau lebih elemen baharu ke dalam kedudukan tatasusunan yang ditentukan, dan elemen pada kedudukan sisipan akan secara automatik dialihkan kembali"".

4. Pemadaman elemen tatasusunan

arrayObj.pop(); //Alih keluar elemen terakhir dan kembalikan nilai elemen

arrayObj.shift(); //Alih keluar elemen pertama dan kembalikan nilai elemen Elemen dalam tatasusunan secara automatik dialihkan ke hadapan
arrayObj.splice(deletePos,deleteCount); //Padam bilangan elemen deleteCount yang ditentukan bermula dari kedudukan deletePos yang ditentukan, dan kembalikan elemen yang dialih keluar dalam bentuk tatasusunan

5. Pemintasan dan penggabungan tatasusunan

arrayObj.slice(start, [end]); //Kembalikan sebahagian daripada tatasusunan dalam bentuk tatasusunan Ambil perhatian bahawa elemen yang sepadan dengan akhir tidak disertakan ditiru

arrayObj.concat([item[, item[, . . . [,itemN]]]]); //Sambungkan berbilang tatasusunan (juga boleh menjadi rentetan, atau campuran tatasusunan dan rentetan) ke dalam satu tatasusunan, Kembalikan tersambung baharu tatasusunan

6. Salinan tatasusunan

arrayObj.slice(); //Mengembalikan tatasusunan salinan Ambil perhatian bahawa ia adalah tatasusunan baharu, bukan menunjuk ke

arrayObj.concat(); //Kembalikan tatasusunan salinan bagi tatasusunan

7. Menyusun elemen tatasusunan

arrayObj.reverse(); //Terbalikkan elemen (yang pertama ke yang terakhir, yang terakhir ke hadapan) dan kembalikan alamat tatasusunan

arrayObj.sort(); // Isih elemen tatasusunan dan kembalikan alamat tatasusunan


8. Stringifikasi elemen tatasusunan

arrayObj.join(separator); //Mengembalikan rentetan yang menghubungkan setiap nilai elemen tatasusunan bersama-sama, dipisahkan oleh pemisah.

toLocaleString, toString, valueOf: boleh dianggap sebagai penggunaan khas join, tidak biasa digunakan


2. Tiga atribut objek tatasusunan

1. atribut panjang

Atribut Length mewakili panjang tatasusunan, iaitu bilangan elemen di dalamnya. Oleh kerana indeks tatasusunan sentiasa bermula dari 0, had atas dan bawah tatasusunan ialah: 0 dan panjang-1 masing-masing. Tidak seperti kebanyakan bahasa lain, sifat panjang tatasusunan JavaScript adalah berubah-ubah, yang memerlukan perhatian khusus. Apabila atribut panjang ditetapkan lebih besar, keadaan keseluruhan tatasusunan sebenarnya tidak berubah, hanya atribut panjang menjadi lebih besar apabila atribut panjang ditetapkan lebih kecil daripada asal, elemen dalam tatasusunan asal dengan indeks lebih besar daripada atau sama dengan panjang akan Semua nilai hilang. Berikut ialah contoh yang menunjukkan perubahan atribut panjang:

var arr=[,,,,,,,,,];

//Mentakrifkan tatasusunan yang mengandungi nombor

alert(arr.length); //Paparkan panjang tatasusunan
arr.length=; //Tingkatkan panjang tatasusunan
alert(arr.length); //Paparkan bahawa panjang tatasusunan telah berubah kepada
alert(arr[]); //Paparkan nilai elemen ke, iaitu
arr.length=; //Kurangkan panjang tatasusunan kepada, elemen dengan indeks sama dengan atau melebihi akan dibuang
alert(arr[]); //Tunjukkan bahawa elemen No. 1 telah menjadi "tidak ditentukan"
arr.length=; //Pulihkan panjang tatasusunan kepada
alert(arr[]); //Walaupun panjangnya dipulihkan, elemen tidak boleh dipulihkan dan "undefined"
dipaparkan.
Daripada kod di atas kita dapat melihat dengan jelas sifat atribut panjang. Tetapi objek panjang bukan sahaja boleh ditetapkan secara eksplisit, ia juga boleh diubah suai secara tersirat. Anda boleh menggunakan pembolehubah tidak diisytiharkan dalam JavaScript Begitu juga, anda juga boleh menggunakan elemen tatasusunan yang tidak ditentukan (merujuk kepada elemen dengan indeks yang lebih besar daripada atau sama dengan panjang). nilai indeks elemen yang digunakan. Contohnya, kod berikut:

var arr=[,,,,,,,,,];

makluman(arr.length);

arr[]=;
makluman(arr.length);

Kod ini juga mula-mula mentakrifkan tatasusunan yang mengandungi 10 nombor Ia boleh dilihat daripada pernyataan amaran bahawa panjangnya ialah 10. Kemudian elemen dengan indeks 15 digunakan dan diberikan nilai 15, iaitu, arr[15]=34 Pada masa ini, pernyataan amaran digunakan untuk mengeluarkan panjang tatasusunan, dan hasilnya ialah 16. Walau apa pun, ini adalah ciri yang mengejutkan untuk pembangun yang terbiasa dengan pengaturcaraan menaip kuat. Sebenarnya, panjang awal tatasusunan yang dicipta menggunakan Tatasusunan() baharu ialah 0. Ia adalah pengendalian elemen tidak ditentukan yang menyebabkan panjang tatasusunan berubah.

Seperti yang anda lihat daripada pengenalan di atas, atribut panjang sangat ajaib Anda boleh menggunakannya untuk menambah atau mengurangkan kapasiti tatasusunan dengan mudah. Oleh itu, pemahaman yang mendalam tentang atribut panjang akan membantu menggunakannya secara fleksibel semasa proses pembangunan.

2. atribut prototaip

Mengembalikan rujukan kepada prototaip jenis objek. Sifat prototaip adalah biasa untuk dibantah.

objectName.prototype

Parameter objectName ialah nama objek objek.

Penerangan: Gunakan atribut prototaip untuk menyediakan satu set fungsi asas kelas objek. Contoh baharu objek "mewarisi" operasi yang diberikan kepada prototaip objek.

Untuk objek tatasusunan, contoh berikut menggambarkan penggunaan atribut prototaip.

Tambahkan kaedah pada objek tatasusunan untuk mengembalikan nilai elemen maksimum dalam tatasusunan. Untuk mencapai ini, isytiharkan fungsi, tambahkannya pada Array.prototype, dan gunakannya.

function array_max()
 {
  var i,
  max = this[];
  for (i = ; i < this.length; i++)
  {
    if (max < this[i])
    max = this[i];
  }
  return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max();

Selepas kod ini dilaksanakan, y memegang nilai maksimum dalam tatasusunan x, atau katakan 6.

3. atribut pembina

mewakili fungsi yang mencipta objek.

object.constructor //objek ialah nama objek atau fungsi.

Penerangan: Sifat pembina ialah ahli semua objek dengan prototaip. Ia termasuk semua objek asli JScript kecuali objek Global dan Matematik. Harta pembina memegang rujukan kepada fungsi yang membina contoh objek tertentu.

Contohnya:

x = new String("Hi");
if (x.constructor == String) // 进行处理(条件为真)。
或
function MyFunc {
  // 函数体。
}
y = new MyFunc;

if (y.constructor == MyFunc) // 进行处理(条件为真)

Untuk tatasusunan:

y = Tatasusunan baharu();

Di atas adalah penerangan keseluruhan artikel ini, saya harap anda semua menyukainya.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn