Rumah > Artikel > hujung hadapan web > Bolehkah aksara pengembangan digunakan dalam tatasusunan es6?
Tatasusunan ES6 boleh menggunakan aksara pengembangan. Pengembang "..." akan mengembangkan objek boleh lelar ke dalam elemen individunya dan objek yang dipanggil boleh lelar ialah sebarang objek yang boleh dilalui menggunakan gelung "untuk daripada", seperti tatasusunan, rentetan, Peta dan Set; Apabila pengembang digunakan dengan tatasusunan, ia menukar tatasusunan menjadi jujukan parameter yang dipisahkan koma.
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
Operator kembangkan (operator pengembangan) …
telah diperkenalkan dalam ES6 untuk mengembangkan objek boleh lelar ke dalam elemen berasingannya Objek yang boleh diulang ialah sebarang objek yang boleh dilalui menggunakan gelung for , seperti : tatasusunan, rentetan, Peta, Set, nod DOM, dsb.
Pengendali spread membenarkan ungkapan dikembangkan di suatu tempat. Operator spread boleh digunakan di mana terdapat berbilang argumen (untuk panggilan fungsi) atau berbilang elemen (untuk literal tatasusunan) atau berbilang pembolehubah (untuk memusnahkan tugasan).
Penggunaan pengembang es6 (aspek tatasusunan)
Memandangkan tatasusunan, anda mahu Caranya salin ahli satu tatasusunan ke tatasusunan lain?
const a = [1, 2]; const b = a; console.log(b); // [1, 2]
Adakah ia benar-benar semudah yang kelihatan? Cuba ubah suai nilai dalam tatasusunan a
a[0] = 3; console.log(b); // [3, 2]
Eh? Mengapa saya mengubah suai nilai dalam tatasusunan a, tetapi nilai dalam tatasusunan b juga berubah? Apa yang terlibat di sini ialah prinsip timbunan, jadi saya tidak akan mengembangkannya secara terperinci Anda hanya perlu tahu bahawa hanya menggunakan kaedah yang sama pada kedua-dua belah pihak tidak boleh melengkapkan salinan tatasusunan di sini.
const a = [1, 2]; const c = [...a]; console.log(c); // [1, 2] a[0] = 3; console.log(c); // [1, 2]
const a = [1, 2]; const b = [3]; const c = [4, 5]; console.log([...a, ...b, ...c]); // [1, 2, 3, 4, 5] console.log([...c, ...a, ...b]); // [4, 5, 1, 2, 3] console.log([99, ...a, 24, ...b, ...c]); // [99, 1, 2, 24, 3, 4, 5]
Pengetahuan prasyarat: Rentetan boleh dikembangkan dalam bentuk tatasusunan<.>?
const name = 'Jae'; console.log(...name); // J a eSelain menggunakan kaedah
untuk menukar rentetan kepada tatasusunan, anda juga boleh menggunakan operator hamparan?split()
const name = 'Jae'; const name_string = [...name]; console.log(name_string); // ["J", "a", "e"]4 -objek seperti ditukar kepada tatasusunan Mengapa menukar tatasusunan kelas kepada tatasusunan? Oleh kerana kaedah seperti tatasusunan tidak boleh menggunakan kaedah tatasusunan, menukarnya adalah lebih mudah untuk beberapa keperluan pemprosesan data~
function func() { console.log(arguments); } func(1, 2); // Arguments(2) [1, 2, callee: ƒ, Symbol(Symbol.iterator): ƒ] // 使用展开远算符 function func() { console.log([...arguments]); } func(1, 2); // [1, 2]
<!--HTML代码--> <p>1</p> <p>2</p> <p>3</p>
const a = document.querySelectAll("p"); console.log(a); // NodeList(3) [p, p, p] console.log([...a]); // [p, p, p][Cadangan berkaitan:
tutorial video javascript, Video pengaturcaraan】
Atas ialah kandungan terperinci Bolehkah aksara pengembangan digunakan dalam tatasusunan es6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!