ホームページ >ウェブフロントエンド >フロントエンドQ&A >es6 のトラバーサルとイテレーションの違いは何ですか

es6 のトラバーサルとイテレーションの違いは何ですか

WBOY
WBOYオリジナル
2022-04-26 14:57:401723ブラウズ

es6 におけるトラバーサルとイテレーションの違いは次のとおりです: トラバーサルは、データ全体を順番に取り出し、データ構造のすべての要素にアクセスすることに重点を置きます。一方、イテレーションもデータを順番に取り出しますが、どれだけデータを取り出すかは保証しません。すべてのデータがフェッチされるという保証はなく、これはトラバーサルの一種です。

es6 のトラバーサルとイテレーションの違いは何ですか

このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6.0、Dell G3 コンピューター。

es6 におけるトラバーサルと反復の違いは何ですか

反復とは

データセットから特定の順序でデータを継続的に取得するプロセス

反復プロセス (通常はオブジェクト) をカプセル化します。言語ごとに反復形式が異なります。

トラバーサルとは

のメンバーを有効にします。特定の順序で配置されるデータ構造;

ES6 は新しいトラバース コマンド for...of ループを作成し、Iterator インターフェイスは主に for...of の消費 (for of によってトラバースされるオブジェクト) に使用されます。トラバーサーが必要です。インターフェイスはトラバースのみ可能です)

相違点

トラバーサルはデータ構造のすべての要素にアクセスすることであり、反復はトラバーサルの形式です。

反復では、データを順番にフェッチしてもどれだけのデータが取得されるか、またすべてのデータがフェッチされることは保証されないことを強調します。

利便性では、データ全体をフェッチする必要があることを強調します。 sequence

例は次のとおりです:

共通配列の走査:

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

共通配列の反復:

//迭代一个数组
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("迭代完成")
//

[関連する推奨事項: JavaScript ビデオ チュートリアル Web フロントエンド ]

以上がes6 のトラバーサルとイテレーションの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。