Bolehkah aksara pengembangan digunakan dalam tatasusunan es6?

青灯夜游
Lepaskan: 2022-10-20 18:00:11
asal
1732 orang telah melayarinya

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]
Salin selepas log masuk

Adakah ia benar-benar semudah yang kelihatan? Cuba ubah suai nilai dalam tatasusunan a

a[0] = 3;
console.log(b); // [3, 2]
Salin selepas log masuk

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]
Salin selepas log masuk

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]
Salin selepas log masuk

3 Tukar rentetan kepada tatasusunan

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

const name = 'Jae';
console.log(...name); // J a e
Salin selepas log masuk
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"]
Salin selepas log masuk
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]
Salin selepas log masuk
  • NodeList

<!--HTML代码-->
<p>1</p>
<p>2</p>
<p>3</p>
Salin selepas log masuk
const a = document.querySelectAll("p");
console.log(a); // NodeList(3) [p, p, p]
console.log([...a]); // [p, p, p]
Salin selepas log masuk
[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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan