Objek fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9, seperti array dalam bahasa pemrograman lain, memungkinkan penyimpanan kumpulan beberapa item dengan satu nama variabel, dan memiliki anggota untuk
Dalam JavaScript, array bukanlah primitif melainkan fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9 objek dengan karakteristik inti berikut
- Larik JavaScript dapat diubah ukurannya dan dapat berisi campuran berbagai tipe data. (Bila karakteristik tersebut tidak diinginkan, gunakan array yang diketik sebagai gantinya. )
- Array JavaScript bukan array asosiatif dan karenanya, elemen array tidak dapat diakses menggunakan string sewenang-wenang sebagai indeks, tetapi harus diakses menggunakan bilangan bulat nonnegatif (atau bentuk string masing-masing) sebagai indeks
- Larik JavaScript tidak diindeks nol. elemen pertama dari array ada di indeks fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined _1, yang kedua ada di indeks fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 2, dan seterusnya — dan elemen terakhir ada di nilai properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 array dikurangi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 2
- JavaScript membuat salinan dangkal. (Semua operasi penyalinan bawaan standar dengan objek JavaScript apa pun membuat salinan dangkal, bukan salinan dalam)
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9 objek tidak dapat menggunakan string sewenang-wenang sebagai indeks elemen (seperti dalam array asosiatif) tetapi harus menggunakan bilangan bulat nonnegatif (atau bentuk string masing-masing). Menyetel atau mengakses melalui non-bilangan bulat tidak akan menyetel atau mengambil elemen dari daftar larik itu sendiri, tetapi akan menyetel atau mengakses variabel yang terkait dengan daftar larik itu. Properti objek array dan daftar elemen array terpisah, dan array tidak dapat diterapkan ke properti bernama ini
Elemen array adalah properti objek dengan cara yang sama seperti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 6 adalah properti (untuk lebih spesifik, bagaimanapun, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 7 adalah metode). Namun demikian, mencoba mengakses elemen array sebagai berikut akan menimbulkan kesalahan sintaksis karena nama properti tidak valid
console.log(arr.0); // a syntax error _
Sintaks JavaScript membutuhkan properti yang diawali dengan angka untuk diakses menggunakan bukan notasi titik. Dimungkinkan juga untuk mengutip indeks array (mis. g. , fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 8 bukannya fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 9), meskipun biasanya tidak diperlukan
fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 0 di fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 9 dipaksa menjadi string oleh mesin JavaScript melalui konversi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 6 implisit. Akibatnya, fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 _3 dan fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 4 akan merujuk ke dua slot berbeda pada objek fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 5, dan contoh berikut bisa jadi fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 6
console.log(years["2"] !== years["02"]);
Hanya fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined _8 adalah indeks array yang sebenarnya. fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 8 adalah properti string arbitrer yang tidak akan dikunjungi dalam iterasi array
Properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined _3 array JavaScript dan properti numerik terhubung
Beberapa metode array bawaan (mis. g. , method(callbackFn, thisArg) 0, method(callbackFn, thisArg) 1, method(callbackFn, thisArg) 2, dll. ) memperhitungkan nilai properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 array saat dipanggil
Metode lain (mis. g. , method(callbackFn, thisArg) 4, method(callbackFn, thisArg) 5, dll. ) juga menghasilkan pembaruan pada properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3
Saat menyetel properti pada larik JavaScript saat properti adalah indeks larik yang valid dan indeks tersebut berada di luar batas larik saat ini, mesin akan memperbarui properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 larik yang sesuai
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6
Meningkatkan fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined _3
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined
Namun, menurunkan properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined _3 akan menghapus elemen
fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2
Ini dijelaskan lebih lanjut di halaman const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 0
Slot kosong berperilaku tidak konsisten di antara metode array. Umumnya, metode lama akan melewatkan slot kosong, sedangkan metode terbaru memperlakukannya sebagai const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 1
Di antara metode yang mengulang melalui banyak elemen, berikut ini lakukan pemeriksaan const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 2 sebelum mengakses indeks dan jangan menggabungkan slot kosong dengan const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 1
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _4
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _5
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _6
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _7
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _8
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _9
- Array.prototype.flat.call({}); // [] 0
- method(callbackFn, thisArg) _2
- Array.prototype.flat.call({}); // [] 2
- Array.prototype.flat.call({}); // [] 3
- Array.prototype.flat.call({}); // [] 4
- Array.prototype.flat.call({}); // [] 5
- Array.prototype.flat.call({}); // [] 6
- method(callbackFn, thisArg) _1
- Array.prototype.flat.call({}); // [] 8
- Array.prototype.flat.call({}); // [] _9
- method(callbackFn, thisArg) _5
Untuk cara persisnya memperlakukan slot kosong, lihat halaman untuk setiap metode
Metode ini memperlakukan slot kosong seolah-olah const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 1
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 2
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 3
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 4
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 5
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 6
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 7
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 8 Eksperimental
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 9 Eksperimental
- console.log(years["2"] !== years["02"]); _00
- method(callbackFn, thisArg) 0
- console.log(years["2"] !== years["02"]); _02
- console.log(years["2"] !== years["02"]); _03
- console.log(years["2"] !== years["02"]); _04
Beberapa metode tidak memutasikan larik yang ada saat metode itu dipanggil, melainkan mengembalikan larik baru. Mereka melakukannya dengan terlebih dahulu mengakses console.log(years["2"] !== years["02"]); _05 untuk menentukan konstruktor yang akan digunakan untuk array baru. Array yang baru dibangun kemudian diisi dengan elemen. Penyalinan selalu terjadi secara dangkal — metode ini tidak pernah menyalin apa pun di luar larik yang awalnya dibuat. Elemen dari array asli disalin ke dalam array baru sebagai berikut
- Objek. referensi objek disalin ke dalam array baru. Array asli dan baru merujuk ke objek yang sama. Artinya, jika objek yang direferensikan dimodifikasi, perubahannya dapat dilihat oleh array baru dan asli
- Jenis primitif seperti string, angka, dan boolean (bukan objek console.log(years["2"] !== years["02"]); 06, console.log(years["2"] !== years["02"]); 07, dan console.log(years["2"] !== years["02"]); 08). nilainya disalin ke dalam array baru
Metode lain memutasi array yang dipanggil oleh metode tersebut, dalam hal ini nilai pengembaliannya berbeda tergantung pada metodenya. terkadang referensi ke array yang sama, terkadang panjang dari array baru
Metode berikut membuat array baru dengan console.log(years["2"] !== years["02"]); 09
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _4
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _7
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _8
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _9
- Array.prototype.flat.call({}); // [] 3
- method(callbackFn, thisArg) _1
- method(callbackFn, thisArg) 5 (untuk membangun larik elemen yang dihapus yang dikembalikan)
Perhatikan bahwa const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 8 dan const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 9 tidak menggunakan console.log(years["2"] !== years["02"]); 09 untuk membuat larik baru untuk setiap entri grup, tetapi selalu gunakan konstruktor fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9 biasa. Secara konseptual, mereka juga tidak menyalin metode
Metode berikut memutasi array asli
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _5
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 3
- console.log(years["2"] !== years["02"]); _23
- method(callbackFn, thisArg) _4
- Array.prototype.flat.call({}); // [] 6
- console.log(years["2"] !== years["02"]); _26
- Array.prototype.flat.call({}); // [] _9
- method(callbackFn, thisArg) _5
- console.log(years["2"] !== years["02"]); _29
Banyak metode array menggunakan fungsi callback sebagai argumen. Fungsi panggilan balik dipanggil secara berurutan dan paling banyak satu kali untuk setiap elemen dalam array, dan nilai kembalian dari fungsi panggilan balik digunakan untuk menentukan nilai kembalian metode. Mereka semua berbagi tanda tangan yang sama
method(callbackFn, thisArg)
Di mana console.log(years["2"] !== years["02"]); _30 mengambil tiga argumen
console.log(years["2"] !== years["02"]); _31Elemen saat ini sedang diproses dalam larik
console.log(years["2"] !== years["02"]); _32Indeks elemen saat ini sedang diproses dalam larik
console.log(years["2"] !== years["02"]); _33Larik tempat metode dipanggil
Apa yang console.log(years["2"] !== years["02"]); _30 diharapkan untuk dikembalikan bergantung pada metode array yang dipanggil
Argumen console.log(years["2"] !== years["02"]); _35 (default ke const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 1) akan digunakan sebagai nilai console.log(years["2"] !== years["02"]); 37 saat memanggil console.log(years["2"] !== years["02"]); 30. Nilai console.log(years["2"] !== years["02"]); _37 yang pada akhirnya dapat diamati oleh console.log(years["2"] !== years["02"]); 30 ditentukan menurut aturan biasa. jika console.log(years["2"] !== years["02"]); _30 adalah , nilai primitif console.log(years["2"] !== years["02"]); 37 dibungkus menjadi objek, dan const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 1/console.log(years["2"] !== years["02"]); 44 diganti dengan console.log(years["2"] !== years["02"]); 45. Argumen ________19______35 tidak relevan untuk console.log(years["2"] !== years["02"]); 30 apa pun yang didefinisikan dengan fungsi panah, karena fungsi panah tidak memiliki ikatan console.log(years["2"] !== years["02"]); 37 sendiri
Semua metode iteratif adalah dan , meskipun mereka berperilaku berbeda dengan
Metode berikut ini berulang
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _6
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _7
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 4
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 5
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 6
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 7
- const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' _9
- Array.prototype.flat.call({}); // [] 0
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 8
- const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 _9
- Array.prototype.flat.call({}); // [] 3
- Array.prototype.flat.call({}); // [] 8
Secara khusus, const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 6, const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 4, const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 5, const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 6, const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 7, dan Array.prototype.flat.call({}); // [] 8 tidak selalu meminta console.log(years["2"] !== years["02"]); 30 pada setiap elemen — mereka menghentikan iterasi segera setelah nilai pengembalian ditentukan
Ada dua metode lain yang mengambil fungsi callback dan menjalankannya paling banyak sekali untuk setiap elemen dalam array, tetapi mereka memiliki tanda tangan yang sedikit berbeda dari metode iteratif biasa (misalnya, mereka tidak menerima console.log(years["2"] !== years["02"]); 35)
- Array.prototype.flat.call({}); // [] 4
- Array.prototype.flat.call({}); // [] 5
Metode Array.prototype.flat.call({}); // [] _9 juga menggunakan fungsi panggilan balik, tetapi ini bukan metode iteratif. Itu mengubah array di tempat, tidak menerima console.log(years["2"] !== years["02"]); 35, dan dapat memanggil panggilan balik beberapa kali pada indeks
Metode array selalu generik — metode ini tidak mengakses data internal apa pun dari objek array. Mereka hanya mengakses elemen array melalui properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined _3 dan elemen yang diindeks. Ini berarti bahwa mereka juga dapat dipanggil pada objek seperti array
const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b'
Normalisasi properti panjang
Properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined _3 kemudian dijepit ke kisaran antara 0 dan 253 - 1. console.log(years["2"] !== years["02"]); _75 menjadi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 1, jadi meskipun fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 tidak ada atau const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 1, ia berperilaku seolah-olah memiliki nilai fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 1
Array.prototype.flat.call({}); // []
Beberapa metode array menyetel properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined _3 dari objek array. Mereka selalu menetapkan nilai setelah normalisasi, jadi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 selalu berakhir sebagai bilangan bulat
const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0
Objek seperti array
Istilah ini mengacu pada objek apa pun yang tidak dibuang selama proses konversi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 yang dijelaskan di atas. Dalam praktiknya, objek tersebut diharapkan benar-benar memiliki properti fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 dan memiliki elemen yang diindeks dalam rentang fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 1 hingga console.log(years["2"] !== years["02"]); 85. (Jika tidak memiliki semua indeks, secara fungsional akan setara dengan a. )
Banyak objek DOM seperti array — misalnya, console.log(years["2"] !== years["02"]); 86 dan console.log(years["2"] !== years["02"]); 87. Objek console.log(years["2"] !== years["02"]); _88 juga mirip array. Anda dapat memanggil metode array pada mereka bahkan jika mereka tidak memiliki metode ini sendiri
console.log(years["2"] !== years["02"]); _0
console.log(years["2"] !== years["02"]); _89
Membuat objek fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _9 baru
console.log(years["2"] !== years["02"]); _91
Mengembalikan konstruktor fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _9
console.log(years["2"] !== years["02"]); _93
Membuat instance fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _9 baru dari objek mirip-array atau objek yang dapat diubah
console.log(years["2"] !== years["02"]); _95Mengembalikan fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 _6 jika argumennya adalah array, atau console.log(years["2"] !== years["02"]); 97 sebaliknya
console.log(years["2"] !== years["02"]); _98Membuat instance fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _9 baru dengan sejumlah variabel argumen, terlepas dari jumlah atau jenis argumen
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _00
Mencerminkan jumlah elemen dalam array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _01Berisi nama properti yang tidak disertakan dalam standar ECMAScript sebelum versi ES2015 dan yang diabaikan untuk tujuan pengikatan pernyataan const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 02
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _03
Mengembalikan item array pada indeks yang diberikan. Menerima bilangan bulat negatif, yang menghitung mundur dari item terakhir
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _04Mengembalikan array baru yang merupakan array pemanggil yang digabungkan dengan array dan/atau nilai lain
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _05Menyalin urutan elemen array di dalam array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _06Mengembalikan objek iterator array baru yang berisi pasangan kunci/nilai untuk setiap indeks dalam array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _07Mengembalikan fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 6 jika setiap elemen dalam larik pemanggil memenuhi fungsi pengujian
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _09Mengisi semua elemen array dari indeks awal hingga indeks akhir dengan nilai statis
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 10Mengembalikan larik baru yang berisi semua elemen larik pemanggil yang dikembalikan oleh fungsi pemfilteran yang disediakan fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 6
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _12Mengembalikan nilai elemen pertama dalam larik yang memenuhi fungsi pengujian yang disediakan, atau const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 1 jika tidak ditemukan elemen yang sesuai
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 14Mengembalikan indeks elemen pertama dalam larik yang memenuhi fungsi pengujian yang disediakan, atau const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 15 jika tidak ada elemen yang sesuai ditemukan
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 16Mengembalikan nilai elemen terakhir dalam larik yang memenuhi fungsi pengujian yang disediakan, atau const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 1 jika tidak ditemukan elemen yang sesuai
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _18Mengembalikan indeks elemen terakhir dalam larik yang memenuhi fungsi pengujian yang disediakan, atau const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 15 jika tidak ada elemen yang sesuai ditemukan
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 20Mengembalikan array baru dengan semua elemen sub-array digabungkan ke dalamnya secara rekursif hingga kedalaman yang ditentukan
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 21Mengembalikan larik baru yang dibentuk dengan menerapkan fungsi panggilan balik yang diberikan ke setiap elemen larik pemanggil, lalu meratakan hasilnya dengan satu tingkat
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 22Memanggil fungsi untuk setiap elemen dalam array panggilan
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 23 EksperimentalMengelompokkan elemen array ke dalam objek sesuai dengan string yang dikembalikan oleh fungsi pengujian
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 24 EksperimentalMengelompokkan elemen array menjadi ________30______25 sesuai dengan nilai yang dikembalikan oleh fungsi tes
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _26Menentukan apakah larik panggilan berisi nilai, mengembalikan fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 6 atau console.log(years["2"] !== years["02"]); 97 sebagaimana mestinya
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _29Mengembalikan indeks pertama (terkecil) di mana elemen tertentu dapat ditemukan dalam larik pemanggil
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 30Menggabungkan semua elemen array menjadi string
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _31Mengembalikan iterator array baru yang berisi kunci untuk setiap indeks dalam array pemanggil
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _32Mengembalikan indeks terakhir (terbesar) di mana elemen tertentu dapat ditemukan dalam larik pemanggil, atau const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 15 jika tidak ada yang ditemukan
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _34Mengembalikan larik baru yang berisi hasil pemanggilan fungsi pada setiap elemen dalam larik pemanggil
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _35Menghapus elemen terakhir dari array dan mengembalikan elemen tersebut
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _36Menambahkan satu atau lebih elemen ke akhir array, dan mengembalikan fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 baru dari array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _38Mengeksekusi fungsi callback "reducer" yang disediakan pengguna pada setiap elemen array (dari kiri ke kanan), untuk menguranginya menjadi satu nilai
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _39Mengeksekusi fungsi callback "reducer" yang disediakan pengguna pada setiap elemen array (dari kanan ke kiri), untuk menguranginya menjadi satu nilai
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _40Membalik urutan elemen array di tempat. (Pertama menjadi yang terakhir, terakhir menjadi yang pertama. )
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _41Menghapus elemen pertama dari array dan mengembalikan elemen tersebut
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _42Mengekstrak bagian dari larik pemanggil dan mengembalikan larik baru
Mengembalikan fruits.length = 2; console.log(Object.keys(fruits)); // ['0', '1'] console.log(fruits.length); // 2 6 jika setidaknya satu elemen dalam larik pemanggil memenuhi fungsi pengujian yang disediakan
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _45Mengurutkan elemen array di tempat dan mengembalikan array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _46Menambahkan dan/atau menghapus elemen dari array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _47Mengembalikan string yang dilokalkan yang mewakili larik pemanggil dan elemennya. Menimpa metode const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _48
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _49Mengembalikan string yang mewakili array pemanggil dan elemennya. Menimpa metode const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _50
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 51Menambahkan satu atau lebih elemen ke depan array, dan mengembalikan fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 baru dari array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _53Mengembalikan objek iterator array baru yang berisi nilai untuk setiap indeks dalam array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 54Sebuah alias untuk metode console.log(years["2"] !== years["02"]); _04 secara default
Bagian ini memberikan beberapa contoh operasi larik umum dalam JavaScript
Catatan. Jika Anda belum terbiasa dengan dasar-dasar array, pertimbangkan untuk membaca Langkah Pertama JavaScript terlebih dahulu. Array, which , dan termasuk contoh lain dari operasi array umum
Contoh ini menunjukkan tiga cara untuk membuat array baru. pertama menggunakan , kemudian menggunakan konstruktor console.log(years["2"] !== years["02"]); 89, dan terakhir menggunakan const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 57 untuk membangun array dari sebuah string
console.log(years["2"] !== years["02"]); _1
Contoh ini menggunakan metode method(callbackFn, thisArg) _0 untuk membuat string dari array const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59
console.log(years["2"] !== years["02"]); _2
Contoh ini menunjukkan cara mengakses item dalam larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 dengan menentukan nomor indeks posisinya dalam larik
console.log(years["2"] !== years["02"]); _3
Contoh ini menggunakan metode method(callbackFn, thisArg) _2 untuk menemukan posisi (indeks) string const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 62 dalam larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59
console.log(years["2"] !== years["02"]); _4
Contoh ini menunjukkan dua cara untuk memeriksa apakah array const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 berisi const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 62 dan const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 66. pertama dengan metode console.log(years["2"] !== years["02"]); 00, lalu dengan metode method(callbackFn, thisArg) 2 untuk menguji nilai indeks yang bukan const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 15
console.log(years["2"] !== years["02"]); _5
Contoh ini menggunakan metode method(callbackFn, thisArg) _4 untuk menambahkan string baru ke larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59
console.log(years["2"] !== years["02"]); _6
Contoh ini menggunakan metode console.log(years["2"] !== years["02"]); _23 untuk menghapus item terakhir dari larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59
console.log(years["2"] !== years["02"]); _7
Catatan. console.log(years["2"] !== years["02"]); _23 hanya dapat digunakan untuk menghapus item terakhir dari array. Untuk menghapus banyak item dari akhir array, lihat contoh berikutnya
Contoh ini menggunakan metode method(callbackFn, thisArg) _5 untuk menghapus 3 item terakhir dari larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59
console.log(years["2"] !== years["02"]); _8
Contoh ini menggunakan metode method(callbackFn, thisArg) 5 untuk memotong larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 menjadi hanya 2 item pertamanya
console.log(years["2"] !== years["02"]); _9
Contoh ini menggunakan metode console.log(years["2"] !== years["02"]); _26 untuk menghapus item pertama dari larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 0
Catatan. console.log(years["2"] !== years["02"]); _26 hanya dapat digunakan untuk menghapus item pertama dari array. Untuk menghapus banyak item dari awal array, lihat contoh berikutnya
Contoh ini menggunakan metode method(callbackFn, thisArg) _5 untuk menghapus 3 item pertama dari larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 1
Contoh ini menggunakan metode console.log(years["2"] !== years["02"]); 29 untuk menambahkan, pada indeks fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 1, item baru ke array const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 — menjadikannya item pertama yang baru dalam array
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 2
Contoh ini menggunakan metode method(callbackFn, thisArg) 5 untuk menghapus string ________30______62 dari array const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 — dengan menentukan posisi indeks const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 62
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 3
Contoh ini menggunakan metode method(callbackFn, thisArg) _5 untuk menghapus string const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 62 dan const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 93 dari array const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 — dengan menentukan posisi indeks const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 62, bersama dengan hitungan jumlah total item yang akan dihapus
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 4
Contoh ini menggunakan metode method(callbackFn, thisArg) _5 untuk mengganti 2 item terakhir dalam larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 dengan item baru
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 5
Contoh ini menggunakan loop const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _98 untuk mengulangi array const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59, mencatat setiap item ke konsol
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 6
Tapi const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _98 hanyalah salah satu dari banyak cara untuk mengulangi array apa pun;
Contoh ini menggunakan metode Array.prototype.flat.call({}); // [] 0 untuk memanggil fungsi pada setiap elemen dalam larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59;
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 7
Contoh ini menggunakan metode const arrayLike = { 0: "a", 1: "b", length: 2, }; console.log(Array.prototype.join.call(arrayLike, "+")); // 'a+b' 4 untuk menggabungkan larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 dengan larik fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 12, untuk menghasilkan larik fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 13 baru. Perhatikan bahwa const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 dan fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 12 tetap tidak berubah
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 8
Contoh ini menunjukkan tiga cara untuk membuat larik baru dari larik const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 59 yang sudah ada. pertama dengan menggunakan sintaks spread, kemudian dengan menggunakan metode fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 17, dan kemudian dengan menggunakan metode method(callbackFn, thisArg) 1
const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _9
Semua operasi penyalinan array bawaan (menyebarkan sintaks, console.log(years["2"] !== years["02"]); 93, const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 42, dan const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 04) membuat salinan dangkal. Jika Anda menginginkan salinan yang dalam dari sebuah array, Anda dapat menggunakan fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 22 untuk mengonversi array menjadi string JSON, lalu fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 23 untuk mengonversi string kembali menjadi array baru yang sepenuhnya independen dari array asli
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 0
Anda juga dapat membuat salinan dalam menggunakan metode fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 24, yang memiliki keuntungan memungkinkan objek yang dapat ditransfer di sumber ditransfer ke salinan baru, bukan hanya dikloning
Terakhir, penting untuk dipahami bahwa menugaskan larik yang ada ke variabel baru tidak akan membuat salinan dari larik atau elemennya. Alih-alih, variabel baru hanyalah referensi, atau alias, ke array asli; . Oleh karena itu, jika Anda membuat perubahan sama sekali baik pada nilai array asli atau pada nilai variabel baru, yang lain juga akan berubah.
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _1
Metode const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 _23 dapat digunakan untuk mengelompokkan elemen array, menggunakan fungsi tes yang mengembalikan string yang menunjukkan grup elemen saat ini
Di sini kita memiliki larik inventaris sederhana yang berisi objek "makanan" yang memiliki fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 26 dan fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 27
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _2
Untuk menggunakan const a = { length: 0.7 }; Array.prototype.push.call(a); console.log(a.length); // 0 8, Anda menyediakan fungsi panggilan balik yang dipanggil dengan elemen saat ini, dan secara opsional indeks dan larik saat ini, dan mengembalikan string yang menunjukkan grup elemen
Kode di bawah ini menggunakan fungsi panah untuk mengembalikan fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 27 dari setiap elemen array (ini digunakan untuk membongkar elemen fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 27 dari objek yang diteruskan). Hasilnya adalah objek yang memiliki properti yang dinamai string unik yang dikembalikan oleh callback. Setiap properti diberi array yang berisi elemen-elemen dalam grup
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _3
Perhatikan bahwa objek yang dikembalikan mereferensikan elemen yang sama dengan larik asli (bukan salinan dalam). Mengubah struktur internal elemen-elemen ini akan tercermin dalam array asli dan objek yang dikembalikan
Jika Anda tidak dapat menggunakan string sebagai kunci, misalnya, jika informasi yang akan dikelompokkan terkait dengan objek yang mungkin berubah, maka Anda dapat menggunakan const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 24. Ini sangat mirip dengan fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _32 kecuali mengelompokkan elemen array menjadi const fruits = []; fruits.push("banana", "apple", "peach"); console.log(fruits.length); // 3 25 yang dapat menggunakan nilai arbitrer (objek atau primitif) sebagai kunci
Berikut ini membuat papan catur sebagai larik string dua dimensi. Langkah pertama dilakukan dengan menyalin fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 34 di fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 35 ke fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 36. Posisi lama di fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _37 dikosongkan
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _4
Inilah hasilnya
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 5
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _6
Hasil dalam
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _7
Hasil pencocokan antara fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _38 dan string dapat membuat larik JavaScript yang memiliki properti dan elemen yang menyediakan informasi tentang kecocokan. Array seperti itu dikembalikan oleh fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 _39 dan fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 40