Rumah  >  Artikel  >  hujung hadapan web  >  Apakah perbezaan antara traversal dan lelaran dalam es6

Apakah perbezaan antara traversal dan lelaran dalam es6

WBOY
WBOYasal
2022-04-26 14:57:401688semak imbas

Perbezaan antara traversal dan lelaran dalam es6 ialah: traversal menekankan mengambil keseluruhan data dalam urutan, mengakses semua elemen struktur data manakala lelaran juga mengeluarkan data dalam urutan, ia tidak menjamin berapa banyak ia akan mengambil , tiada jaminan bahawa semua data akan diambil, ia adalah satu bentuk traversal.

Apakah perbezaan antara traversal dan lelaran dalam es6

Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.

Apakah perbezaan antara traversal dan lelaran dalam es6

Apakah itu lelaran

Mengambil data secara berterusan daripada set data dalam susunan tertentu Proses

merangkum proses lelaran, biasanya objek bahasa yang berbeza menunjukkan bentuk lelaran yang berbeza

Apa itu traversal

Mendayakan ahli-ahli. struktur data untuk disusun dalam susunan tertentu;

ES6 mencipta perintah traversal baharu untuk...of loop, dan antara muka Iterator digunakan terutamanya untuk untuk...penggunaan (objek yang dilalui oleh untuk of mesti mempunyai Antara Muka traverser hanya boleh dilalui)

Perbezaan

Traversal adalah untuk mengakses semua elemen struktur data, dan lelaran ialah satu bentuk traversal.

Lelaran menekankan bahawa pengambilan data mengikut turutan tidak menjamin jumlah data yang akan diambil, dan juga tidak menjamin bahawa semua data akan diambil

Kemudahan menekankan bahawa keseluruhan data mesti diambil dalam jujukan

Contohnya adalah seperti berikut:

Lelaran pada tatasusunan biasa:

//遍历一个普通数组
const arr = [1,2,3,4,5];
for(let i = 0;i< arr.length;i++){
console.log(arr[i])
}

Lelaran pada tatasusunan biasa:

//迭代一个数组
const iterator = { //用于迭代数组的对象
i : 0,
next(){
var result = {
// value : ?
// done : ?
value : arr[this.i],
done : this.i >= arr.length
}
this.i ++;
return result;
}
}
console.log(iterator)   //这个对象就为迭代器
//附加的功能
//让迭代器自己取数据,知道没有数据为止
let data = iterator.next();
while(!data.done){
console.log(data.value)
data = iterator.next();
}
console.log("迭代完成")
//

[Cadangan berkaitan :tutorial video javascript, bahagian hadapan web

Atas ialah kandungan terperinci Apakah perbezaan antara traversal dan lelaran 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