ホームページ  >  記事  >  ウェブフロントエンド  >  es6 のセット タイプはオーダー済みですか?

es6 のセット タイプはオーダー済みですか?

WBOY
WBOYオリジナル
2022-04-08 18:37:453388ブラウズ

es6 のセット タイプは順序付けされています。 set タイプは、es6 の新しい順序付きリスト コレクションであり、いくつかの独立した非繰り返し値が含まれています。set の走査順序が挿入順序です。set によって保存された関数リストが呼び出されるときは、指定された順序で呼び出されます。セットタイプはオーダーとなります。

es6 のセット タイプはオーダー済みですか?

この記事の動作環境: Windows 10 システム、Vue バージョン 2.9.6、DELL G3 コンピューター。

es6 のセット タイプは順序付けされていますか?

はい、公式のセットで答えが見つかります。セットの走査順序が挿入順序です。

この機能は、場合によっては非常に便利です。たとえば、Set を使用してコールバック関数のリストを保存すると、呼び出し時に追加された順序で確実に呼び出されるようにできます。

基本概念

ES6 の新しい Set タイプは、いくつかの独立した非反復値を含む順序付きリストです。

* メンバーが重複するかどうかは、Set コレクションの Object.is() メソッドによって内部的に決定されます。

Set は、ES6 で追加された新しい順序付きリスト コレクションであり、重複する項目は含まれません。以前は、アイテムが重複しないコレクションを実装するには、通常、オブジェクト (Object) または配列 (Array) を使用していました。ただし、オブジェクトはキーに対して toString() 操作を実行するため、一部のキーが以前のデータを誤って上書きしてしまいます。キー自体がオブジェクトの場合、次のように toString() は望ましい結果を取得しません。

JSvar o = {};
var key1 = 2;
var key2 = { toString : function() { return 2 } };
var key3 = { x : 1 };
var key4 = { y : 2 };
o[key1] = 1;
o[key2] = 2;
o[key3] = 3;
o[key4] = 4;
// o : Object {2: 2, [object Object]: 4}

配列にはあらゆる種類のデータを保存できますが、データの重複排除は自分で実装する必要があります。

Set は、任意のタイプの要素を Set に追加するために使用される add(item) メソッドをサポートしています。既に追加されている場合は、自動的に無視されます。has(item) メソッドは、次の目的で使用されます。指定された要素が Set に存在するかどうかを検出し、delete(item ) メソッドを使用して Set から指定された要素を削除し、clear() を使用して Set をクリアし、size 属性を使用して Set の長さを取得します。以下のように:

JSvar set = new Set();
set.add(window);
set.has(window); // trueset.size; // 1set.add(window);
set.add(1);
set.size; // 2set.delete(window);
set.has(window); // falseset.clear();
set.size; // 0

es6 のセット タイプはオーダー済みですか?

[関連する推奨事項: 「

vue.js チュートリアル 」]

以上がes6 のセット タイプはオーダー済みですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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