Rumah  >  Artikel  >  hujung hadapan web  >  Apakah kaedah untuk melintasi objek dan tatasusunan dalam es6

Apakah kaedah untuk melintasi objek dan tatasusunan dalam es6

青灯夜游
青灯夜游asal
2023-01-29 19:00:001641semak imbas

Kaedah untuk melintasi objek: 1. penyataan "untuk dalam", yang boleh menggelung melalui sifat terbilang objek itu sendiri dan diwarisi 2. Object.keys() dan Object.values(); (). Kaedah untuk melintasi tatasusunan: 1. forEach(), yang boleh memanggil fungsi untuk setiap elemen dalam tatasusunan 2. map(), yang memanggil fungsi panggil balik yang ditentukan untuk setiap elemen tatasusunan 3. filter( 4; .beberapa ()dsb.

Apakah kaedah untuk melintasi objek dan tatasusunan dalam es6

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

Merentasi tatasusunan atau objek sering digunakan dalam kerja. ES6 menyediakan kaedah traversal baharu. Mari kita lihat

melintasi objek

1, for (let k in obj) {}

gelung melalui objek itu sendiri dan mewarisi terbilang. 属性 (gelung melalui sifat terbilang objek sendiri 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)

Pulangan 数组 (tidak termasuk atribut Simbol) yang merentasi sifat objek atau nilai atribut Kaedah

  • Object.keys() akan mengembalikan tatasusunan yang terdiri daripada sifat boleh dikira sendiri. objek yang diberikan. Susunan nama sifat dalam tatasusunan adalah konsisten dengan susunan yang dikembalikan apabila gelung biasa melintasi objek

  • Kaedah Object.values( ) mengembalikan tatasusunan semua. nilai sifat terhitung objek yang diberikan itu sendiri, dalam susunan yang sama seperti menggunakan gelung for...in (perbezaannya ialah gelung for-in menghitung sifat dalam rantai prototaip).

3
let obj = {'0':'a','1':'b','2':'c'}
console.log(Object.keys(obj))
//["0","1","2"]
console.log(Object.values(obj))
//["a","b","c"]

Object.getOwnPropertyNames(obj) Mengembalikan tatasusunan yang merentasi atribut atau nilai atribut objek (tidak termasuk atribut Simbol, atribut sendiri—— (Tidak termasuk atribut pada prototaip) Parameter ialah fungsi tanpa nama, dan parameter pertama ialah nilai ahli tatasusunan, dan parameter kedua ialah indeksnya >

k ialah nilai indeks setiap tatasusunan. ahli
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

3,

arr.forEachk ialah nilai setiap ahli tatasusunan

bukan sahaja menyokong tatasusunan, tetapi juga menyokong kebanyakan objek seperti tatasusunan (pseudo-array), seperti objek DOM NodeList

juga menyokong rentas rentetan, yang akan Rentetan dilalui sebagai satu siri aksara Unicode >
var name = ['张三', '李四', '王五'];
['张三', '李四', '王五'].forEach((v,l,k) => {
	console.log(v);
	console.log(l);
	console.log(k);
})
4. map():

Apakah kaedah untuk melintasi objek dan tatasusunan dalam es6

peta mewakili pemetaan, iaitu, satu demi satu Selaras dengan itu, selepas traversal selesai, tatasusunan baru akan dikembalikan, tetapi tatasusunan asal tidak akan diubah suai

for(let k in arr){}

let arr = ['a','b','c','d']
for(let k in arr){
	console.log(k,arr[k])
}
// 0 a
// 1 b
// 2 c
// 3 d
5.

5.

for(let k of arr){} 6. kurangkan()

Melintasi dari kiri ke kanan, biasanya digunakan untuk penambahan, penolakan, pendaraban dan pembahagian

let arr = ['a','b','c','d']
for(let k of arr){
	console.log(k)
}
//  a
//  b
//  c
//  d

7 setiap (dan)

var a1 = ['a', 'b', 'c'];
var a2 = a1.map(function(item,key,ary) {
     return item.toUpperCase();
});
console.log(a1);// ['a','b','c'];
console.log(a2); //['A','B','C'];

8 🎜>[Cadangan berkaitan: tutorial video javascript

,

bahagian hadapan web

var a1 = [1,2,3,4,5,6];
var a2 = a1.filter(function(item) { 
     return item <= 3; 
});
 console.log(a2); // [1,2,3];

//filter 它将是遍历每一个元素,用每一个元素去匹配,如果返回true,就会返回一个次数,最后将所有符合添加的全部选出

Atas ialah kandungan terperinci Apakah kaedah untuk melintasi objek dan tatasusunan dalam 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