Rumah  >  Artikel  >  hujung hadapan web  >  Bolehkah aksara pengembangan digunakan dalam tatasusunan es6?

Bolehkah aksara pengembangan digunakan dalam tatasusunan es6?

青灯夜游
青灯夜游asal
2022-10-20 18:00:111714semak imbas

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.

Bolehkah aksara pengembangan digunakan dalam tatasusunan es6?

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)

1 Salin 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]

2. Gabungkan tatasusunan

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]

3 Tukar rentetan kepada tatasusunan

Pengetahuan prasyarat: Rentetan boleh dikembangkan dalam bentuk tatasusunan<.>?

const name = 'Jae';
console.log(...name); // J a e
Selain 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~

  • argumen

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]
  • NodeList

<!--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!

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