Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah kaedah melintasi objek dalam es6
6 cara untuk melintasi objek: 1. pernyataan "untuk...dalam", yang boleh menggelungkan melalui sifat terbilang objek itu sendiri dan diwarisi 2. keys() melintasi nama harta, nilai () Traverse nilai harta; 3. getOwnPropertyNames(), yang boleh mengembalikan tatasusunan yang mengandungi semua sifat, dsb.
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
6 cara untuk melintasi sifat objek dalam ES6
untuk...dalam
Gelung melalui sifat terbilang objek sendiri dan diwarisi (tidak termasuk atribut simbol)
for (let k in obj) {}
Gelung melalui sifat terhitung objek sendiri dan diwarisi (gelung melalui objek Sifat terbilang yang dimiliki dan diwarisi ( tidak termasuk sifat Simbol)
let obj = {'0':'a','1':'b','2':'c'} for (let k in obj) { console.log(k+':'+obj[k]) } //0:a //1:b //2:c
2. Object.keys(obj)|| Object .values(obj)
Mengembalikan tatasusunan, termasuk semua sifat terhitung objek itu sendiri (tidak termasuk pewarisan) (tidak termasuk sifat Simbol)
kunci() Ia adalah traversal nama atribut() ialah traversal daripada nilai atribut
let obj = {'0':'a','1':'b','2':'c'} console.log(Object.keys(obj)) //["0","1","2"] console.log(Object.values(obj)) //["a","b","c"]
3 Object.getOwnPropertyNames(obj)
Pulangan. tatasusunan yang mengandungi semua sifat objek itu sendiri (tidak termasuk sifat, tetapi termasuk sifat yang tidak boleh dikira)
let obj = {'0':'a','1':'b','2':'c'}; Object.getOwnPropertyNames(obj).forEach(function(key){ console.log(key,obj[key]); }); // 0 a // 1 b // 2 c
Object.getOwnPropertySimbols( obj)
Mengembalikan tatasusunan yang mengandungi semua sifat Simbol bagi objek itu sendiri
Contoh: Dapatkan atribut Nilai Simbol objek itu sendiri
var obj = {}; var a = Symbol("a"); var b = Symbol.for("b"); obj[a] = "localSymbol"; obj[b] = "globalSymbol"; var objectSymbols = Object.getOwnPropertySymbols(obj); console.log(objectSymbols.length); // 2 console.log(objectSymbols) // [Symbol(a), Symbol(b)] console.log(objectSymbols[0]) // Symbol(a)
5 Reflect.ownKeys(obj)
mengembalikan tatasusunan, Mengandungi semua sifat objek itu sendiri, tidak kira sama ada. nama harta ialah Simbol atau rentetan, atau sama ada ia boleh dihitung
const object1 = { property1: 42, property2: 13 }; const array1 = []; console.log(Reflect.ownKeys(object1)); // expected output: Array ["property1", "property2"] console.log(Reflect.ownKeys(array1)); // expected output: Array ["length"]
6. Refleksikan .enumerate(obj)
mengembalikan objek Iterator, merentasi semua sifat terhitung objek itu sendiri dan pewarisannya (tidak termasuk sifat Simbol), sama seperti untuk ... dalam gelung
var obj = { x: 1, y: 2 }; for (var name of Reflect.enumerate(obj)) { console.log(name); } // logs "x" and "y"
[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]
Atas ialah kandungan terperinci Apakah kaedah melintasi objek dalam es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!