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) ".
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
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
Kaedah pertama: gunakan untuk dalam untuk menukar objek seperti tatasusunan kepada tatasusunan
<script type="text/javascript"> var obj = { 0: 'a', 1: 'b', 2: 'c', }; 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>
let arr1 = [] for (let i in obj) { let newobj = {} newobj[i] = obj[i] arr1.push(newobj); } console.log(arr1);
Objek terbina dalam Object.keys: Dapatkan kunci
objek terbina dalam Object.values mendapat nilai
let obj = { '1': 5, '2': 8, '3': 4, '4': 6 }; //内置对象Object.keys:获取键 var arr = Object.keys(obj) console.log(arr); //内置对象Object.values获取值 var arr2 = Object.values(obj) console.log(arr2);
Kaedah jenis ketiga: Array.from()
Array.from() menukar objek kepada array dan mesti memenuhi 2 syarat
let obj = { '0': 5, '1': 8, '2': 4, '3': 6, 'length':4 }; let arr = Array.from(obj) console.log(arr);
1: Kunci mestilah nilai angka
Apabila menambah panjang pasangan nilai kunci:2: Pasangan nilai kunci mesti mempunyai panjang
Apabila panjang tidak ditulis:
Perluaskan pengetahuan: untuk Perbezaan antara, untuk dalam dan untukSetiap
Kesannya ialah seperti yang ditunjukkan dalam rajah:
let arr = ['周一', '周二', '周三', '周四','周五','周六','周日'] // 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); })
item dalam untuk daripada mewakili item dalam tatasusunan
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.
untuk1 Boleh mengelakkan semua perangkap dalam gelung
gelung bukan sahaja menyokong traversal tatasusunan. Ia juga boleh digunakan untuk banyak objek seperti tatasusunan for-in
4 Ia juga menyokong
traversal 5 tidak sesuai untuk memproses objek asli asal break
continue
return
untuk dalam <.>for-of
Nota: gelung for..in akan merentasi kaedah dan sifat dalam prototaip jenis tertentu, jadi ini boleh menyebabkan ralat yang tidak dijangka dalam kod字符串
tidak boleh menggunakan pernyataan return, break dan continue untuk keluar dari gelung
2. . Adakah indeks tatasusunan yang sepadan (pilihan)[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!