Bagaimana untuk menukar objek seperti tatasusunan kepada tatasusunan dalam es6

青灯夜游
Lepaskan: 2023-01-04 09:13:02
asal
2319 orang telah melayarinya

Kaedah penukaran: 1. Gunakan pernyataan "for in" untuk menukar objek seperti tatasusunan kepada tatasusunan, sintaksnya ialah "for(var i in obj){console.log(arr.push(obj [i])); }"; 2. Gunakan kekunci dan nilai objek terbina dalam, sintaks "Object.keys(obj)" dan "Object.values(obj)"; 3. Gunakan fungsi from() bagi objek Array, sintaks "Array.from(obj) ".

Bagaimana untuk menukar objek seperti tatasusunan kepada tatasusunan dalam es6

Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.

Apakah itu kelas tatasusunan?

Terdapat beberapa objek dalam JavaScript yang kelihatan seperti tetapi bukan tatasusunan, dipanggil objek seperti tatasusunan.

Apakah objek seperti tatasusunan?

hanya mengandungi integer bermula dari 0 dan secara semula jadi meningkat sebagai kunci , dan juga mentakrifkan objek panjang yang digunakan untuk mewakili bilangan elemen ialah biasanya dianggap sebagai objek tatasusunan seperti .

  • mempunyai subskrip indeks berangka yang menunjuk ke elemen objek dan atribut panjang memberitahu kami bilangan elemen objek itu; 🎜> tidak mempunyai Contohnya, objek tatasusunan seperti push, forEach dan indexOf mempunyai kaedah

  • Tukar tatasusunan kelas kepada tatasusunan

Kaedah pertama: gunakan untuk dalam untuk menukar objek seperti tatasusunan kepada tatasusunan

<script type="text/javascript">
		var obj = {
			0: &#39;a&#39;,
			1: &#39;b&#39;,
			2: &#39;c&#39;,
		};
		console.log(obj[0]);
		console.log(typeof obj);
		var arr = [];
		for(var i in obj){
			console.log(arr.push(obj[i]));
		}
		console.log(arr);
		//把类数组对象放在一个名为arr的新数组里使得obj变成了数组

		console.log(arr instanceof Array);//判断arr是否为数组

	</script>
Salin selepas log masuk
Jika anda ingin mendapatkan keseluruhan objek:

Bagaimana untuk menukar objek seperti tatasusunan kepada tatasusunan dalam es6

let arr1 = []
		for (let i in obj) {
			let newobj = {}
			newobj[i] = obj[i]
			arr1.push(newobj);
		}
		console.log(arr1);
Salin selepas log masuk
Kaedah kedua: kekunci dan nilai objek terbina dalam

Bagaimana untuk menukar objek seperti tatasusunan kepada tatasusunan dalam es6

Objek terbina dalam Object.keys: Dapatkan kunci

objek terbina dalam Object.values ​​​​mendapat nilai

let obj = {
			&#39;1&#39;: 5,
			&#39;2&#39;: 8,
			&#39;3&#39;: 4,
			&#39;4&#39;: 6
		};
		//内置对象Object.keys:获取键
		var arr = Object.keys(obj)
		console.log(arr);
		//内置对象Object.values获取值
		var arr2 = Object.values(obj)
		console.log(arr2);
Salin selepas log masuk

Kaedah jenis ketiga: Array.from()Bagaimana untuk menukar objek seperti tatasusunan kepada tatasusunan dalam es6

Array.from() menukar objek kepada array dan mesti memenuhi 2 syarat

let obj = {
		&#39;0&#39;: 5,
		&#39;1&#39;: 8,
		&#39;2&#39;: 4,
		&#39;3&#39;: 6,
		&#39;length&#39;:4
	};
	    let arr = Array.from(obj)
		console.log(arr);
Salin selepas log masuk

1: Kunci mestilah nilai angka

2: Pasangan nilai kunci mesti mempunyai panjang

Apabila panjang tidak ditulis:

Apabila menambah panjang pasangan nilai kunci:

Bagaimana untuk menukar objek seperti tatasusunan kepada tatasusunan dalam es6Perluaskan pengetahuan: untuk Perbezaan antara, untuk dalam dan untukSetiap

Kesannya ialah seperti yang ditunjukkan dalam rajah:

let arr = [&#39;周一&#39;, &#39;周二&#39;, &#39;周三&#39;, &#39;周四&#39;,&#39;周五&#39;,&#39;周六&#39;,&#39;周日&#39;]
		// for of
		for (let item of arr) {
			console.log(item);
		}
        // for in
		for (let i in arr) {
			console.log(i);
		}
        // forEach
        arr.forEach(item => {
			console.log(item);
		})
Salin selepas log masuk


item dalam untuk daripada mewakili item dalam tatasusunan Bagaimana untuk menukar objek seperti tatasusunan kepada tatasusunan dalam es6

i in for in mewakili indeks, yang biasanya digunakan untuk melintasi objek

Kaedah forEach digunakan untuk memanggil setiap elemen tatasusunan dan menghantar elemen ke fungsi panggil balik.

untuk

1 Boleh mengelakkan semua perangkap dalam gelung

2 🎜> dan

3.

gelung bukan sahaja menyokong traversal tatasusunan. Ia juga boleh digunakan untuk banyak objek seperti tatasusunan for-in4 Ia juga menyokong
traversal 5 tidak sesuai untuk memproses objek asli asal breakcontinuereturnuntuk dalam <.>
for-ofNota: gelung for..in akan merentasi kaedah dan sifat dalam prototaip jenis tertentu, jadi ini boleh menyebabkan ralat yang tidak dijangka dalam kod
字符串

untuk Setiap

1 Kaedah

tidak boleh menggunakan pernyataan return, break dan continue untuk keluar dari gelung

2. . Adakah indeks tatasusunan yang sepadan (pilihan)

(3) Parameter ialah tatasusunan itu sendiri (pilihan) 3. Jalankan fungsi yang disediakan sekali untuk setiap elemen tatasusunan. Kembali tidak ditentukan

[Pembelajaran yang disyorkan: tutorial video javascript]

Atas ialah kandungan terperinci Bagaimana untuk menukar objek seperti tatasusunan kepada tatasusunan dalam 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