diff options
| author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
|---|---|---|
| committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
| commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
| tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/web/javascript/reference/global_objects/set | |
| parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
| download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip | |
initial commit
Diffstat (limited to 'files/ja/web/javascript/reference/global_objects/set')
12 files changed, 1147 insertions, 0 deletions
diff --git a/files/ja/web/javascript/reference/global_objects/set/@@iterator/index.html b/files/ja/web/javascript/reference/global_objects/set/@@iterator/index.html new file mode 100644 index 0000000000..60f8bbc166 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/@@iterator/index.html @@ -0,0 +1,85 @@ +--- +title: 'Set.prototype[@@iterator]()' +slug: Web/JavaScript/Reference/Global_Objects/Set/@@iterator +tags: + - ECMAScript 2015 + - Iterator + - JavaScript + - Method + - Prototype + - Reference + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/@@iterator +--- +<div>{{JSRef}}</div> + +<p><strong><code>@@iterator</code></strong> プロパティの初期値は {{jsxref("Set.prototype.values()", "values")}} プロパティの初期値と同じ関数オブジェクトです。</p> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-@@iterator.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate"><var>mySet</var>[Symbol.iterator]</pre> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p><code>Set</code> <strong>イテレーター</strong>関数です。既定では {{jsxref("Set.prototype.values()", "values()")}} 関数です。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_iterator" name="Using_iterator()">[@@iterator]() の使用</h3> + +<pre class="brush:js notranslate">const mySet = new Set(); +mySet.add('0'); +mySet.add(1); +mySet.add({}); + +const setIter = mySet[Symbol.iterator](); + +console.log(setIter.next().value); // "0" +console.log(setIter.next().value); // 1 +console.log(setIter.next().value); // Object +</pre> + +<h3 id="Using_iterator_with_for..of" name="Using_iterator()_with_for..of">for..of とともに [@@iterator]() を使う</h3> + +<pre class="brush:js notranslate">const mySet = new Set(); +mySet.add('0'); +mySet.add(1); +mySet.add({}); + +for (const v of mySet) { + console.log(v); +} +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set.prototype-@@iterator', 'Set.prototype[@@iterator]')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.@@iterator")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set.prototype.entries()")}}</li> + <li>{{jsxref("Set.prototype.keys()")}}</li> + <li>{{jsxref("Set.prototype.values()")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/@@species/index.html b/files/ja/web/javascript/reference/global_objects/set/@@species/index.html new file mode 100644 index 0000000000..9d634b257d --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/@@species/index.html @@ -0,0 +1,64 @@ +--- +title: 'get Set[@@species]' +slug: Web/JavaScript/Reference/Global_Objects/Set/@@species +tags: + - ECMAScript 2015 + - JavaScript + - Property + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/@@species +--- +<div>{{JSRef}}</div> + +<p><strong><code>Array[Symbol.species]</code></strong> アクセサープロパティは、<code>Set</code> コンストラクターを返します。</p> + +<h2 id="Description" name="Description">解説</h2> + +<p><code>species</code> アクセサープロパティは、 <code>Set</code> オブジェクトの既定のコンストラクターを返します。サブクラスのコンストラクターはコンストラクターに代入することで、これをオーバーライドすることができます。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Species_in_ordinary_objects" name="Species_in_ordinary_objects">通常のオブジェクトの spicies</h3> + +<p><code>species</code> プロパティは、<code>Set</code> オブジェクトの既定のコンストラクター関数である <code>Set</code> コンストラクターを返します。</p> + +<pre class="brush: js notranslate">Set[Symbol.species]; // Set() 関数</pre> + +<h3 id="Species_in_derived_objects" name="Species_in_derived_objects">派生オブジェクトの spicies</h3> + +<p>派生コレクションオブジェクト (たとえば、独自の配列である <code>MySet</code>) では、<code>MySet</code> の species は <code>MySet</code> コンストラクターです。しかし、派生クラスのメソッドで、親である <code>Set</code> オブジェクトを返すためにこれをオーバーライドしたいかもしれません。</p> + +<pre class="brush: js notranslate">class MySet extends Set { + // MySet species を親である Set コンストラクターにオーバーライド。 + static get [Symbol.species]() { return Set; } +}</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-get-set-@@species', 'get Set [ @@species ]')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.@@species")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set")}}</li> + <li>{{jsxref("Symbol.species")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/add/index.html b/files/ja/web/javascript/reference/global_objects/set/add/index.html new file mode 100644 index 0000000000..61106d4cd7 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/add/index.html @@ -0,0 +1,76 @@ +--- +title: Set.prototype.add() +slug: Web/JavaScript/Reference/Global_Objects/Set/add +tags: + - ECMAScript 2015 + - JavaScript + - Method + - Prototype + - Reference + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/add +--- +<div>{{JSRef}}</div> + +<p><strong><code>add()</code></strong> メソッドは、特定の <code>value</code> をもつ新しい要素を <code>Set</code> オブジェクトの最後に追加します。</p> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-add.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate"><var>mySet</var>.add(<var>value</var>);</pre> + +<h3 id="Syntax" name="Syntax">引数</h3> + +<dl> + <dt><code><var>value</var></code></dt> + <dd><code>Set</code> オブジェクトに追加する要素の値です。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p><code>Set</code> オブジェクトです。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_the_add_method" name="Using_the_add_method">add() メソッドの使用</h3> + +<pre class="brush: js notranslate">var mySet = new Set(); + +mySet.add(1); +mySet.add(5).add('some text'); // メソッドチェーン + +console.log(mySet); +// Set [1, 5, "some text"] +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set.prototype.add', 'Set.prototype.add')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.add")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set")}}</li> + <li>{{jsxref("Set.prototype.delete()")}}</li> + <li>{{jsxref("Set.prototype.has()")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/clear/index.html b/files/ja/web/javascript/reference/global_objects/set/clear/index.html new file mode 100644 index 0000000000..5899f06c3d --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/clear/index.html @@ -0,0 +1,72 @@ +--- +title: Set.prototype.clear() +slug: Web/JavaScript/Reference/Global_Objects/Set/clear +tags: + - ECMAScript 2015 + - JavaScript + - Method + - Prototype + - Reference + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/clear +--- +<div>{{JSRef}}</div> + +<p><strong><code>clear()</code></strong> メソッドは、<code>Set</code> オブジェクトからすべての要素を取り除きます。</p> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-clear.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate"><var>mySet</var>.clear();</pre> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>{{jsxref("undefined")}} です。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_the_clear_method" name="Using_the_clear_method">clear() メソッドの使用</h3> + +<pre class="brush: js notranslate">var mySet = new Set(); +mySet.add(1); +mySet.add('foo'); + +mySet.size; // 2 +mySet.has('foo'); // true + +mySet.clear(); + +mySet.size; // 0 +mySet.has('bar') // false +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set.prototype.clear', 'Set.prototype.clear')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.clear")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set")}}</li> + <li>{{jsxref("Set.prototype.delete()")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/delete/index.html b/files/ja/web/javascript/reference/global_objects/set/delete/index.html new file mode 100644 index 0000000000..818f0f7b7b --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/delete/index.html @@ -0,0 +1,91 @@ +--- +title: Set.prototype.delete() +slug: Web/JavaScript/Reference/Global_Objects/Set/delete +tags: + - ECMAScript 2015 + - JavaScript + - Method + - Prototype + - Reference + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/delete +--- +<div>{{JSRef}}</div> + +<p><strong><code>delete()</code></strong> メソッドは、<code>Set</code> オブジェクトから指定された要素を取り除きます。</p> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-delete.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate"><var>mySet</var>.delete(<var>value</var>);</pre> + +<h3 id="Syntax" name="Syntax">引数</h3> + +<dl> + <dt><code><var>value</var></code></dt> + <dd><code><var>mySet</var></code> から取り除く要素の値です。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p><code><var>mySet</var></code> から <code><var>value</var></code> が正常に削除されたら <code>true</code> を返します。さもなければ、<code>false</code> を返します。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_the_delete_method" name="Using_the_delete_method">delete() メソッドの使用</h3> + +<pre class="brush: js notranslate">const mySet = new Set(); +mySet.add('foo'); + +mySet.delete('bar'); // 削除するべき要素が見つからなければ false を返す +mySet.delete('foo'); // 正常に要素を削除出来れば true を返す + +mySet.has('foo'); // 存在しない要素を確認すると false を返す +</pre> + +<p>Set から Objectを削除する方法を以下で確認してみましょう。</p> + +<pre class="brush: js notranslate">const setObj = new Set(); // 新しいセットを作成 + +setObj.add({x: 10, y: 20}); // セットにオブジェクトを追加 + +setObj.add({x: 20, y: 30}); // セットにオブジェクトを追加 + +// `x > 10` のポイントを削除 +setObj.forEach(function(point){ + if(point.x > 10){ + setObj.delete(point) + } +}) +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set.prototype.delete', 'Set.prototype.delete')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.delete")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set")}}</li> + <li>{{jsxref("Set.prototype.clear()")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/entries/index.html b/files/ja/web/javascript/reference/global_objects/set/entries/index.html new file mode 100644 index 0000000000..641a865ad0 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/entries/index.html @@ -0,0 +1,71 @@ +--- +title: Set.prototype.entries() +slug: Web/JavaScript/Reference/Global_Objects/Set/entries +tags: + - ECMAScript 2015 + - Iterator + - JavaScript + - Method + - Prototype + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/entries +--- +<div>{{JSRef}}</div> + +<p><code><strong>entries()</strong></code> メソッドは、<code>Set</code> オブジェクトの各要素を挿入順に<strong> <code>[value, value]</code> の配列</strong>を含む新しい<a href="/ja/docs/Web/JavaScript/Guide/Iterators_and_Generators">イテレーター</a>オブジェクトを返します。<code>Set</code> オブジェクトは、<code>Map</code> オブジェクトのように <code>key</code> を持つことはありません。しかしながら、<code>Map</code> オブジェクトと似た API をもつために、各 <em>entry</em> は <em>key</em> と <em>value</em> に対して同じ値を持ちます。そのため、配列 <code>[value, value]</code> が返されます。</p> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-entries.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate"><code><em>mySet</em>.entries()</code></pre> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p><code>Set</code> オブジェクトの各要素を挿入順に<strong> <code>[value, value]</code> の配列</strong>を含む新しい <code>Iterator</code> オブジェクトです。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_entries" name="Using_entries">entries() を使う</h3> + +<pre class="brush:js notranslate">var mySet = new Set(); +mySet.add('foobar'); +mySet.add(1); +mySet.add('baz'); + +var setIter = mySet.entries(); + +console.log(setIter.next().value); // ["foobar", "foobar"] +console.log(setIter.next().value); // [1, 1] +console.log(setIter.next().value); // ["baz", "baz"] +</pre> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set.prototype.entries', 'Set.prototype.entries')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.entries")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set.prototype.keys()")}}</li> + <li>{{jsxref("Set.prototype.values()")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/foreach/index.html b/files/ja/web/javascript/reference/global_objects/set/foreach/index.html new file mode 100644 index 0000000000..440ace97e7 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/foreach/index.html @@ -0,0 +1,110 @@ +--- +title: Set.prototype.forEach() +slug: Web/JavaScript/Reference/Global_Objects/Set/forEach +tags: + - ECMAScript 2015 + - JavaScript + - Method + - Prototype + - Reference + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/forEach +--- +<div>{{JSRef}}</div> + +<p><strong><code>forEach()</code></strong> メソッドは、与えられた関数を <code>Set</code> オブジェクトの各値に対して一回ずつ、挿入順で実行します。</p> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-foreach.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate"><var>mySet</var>.forEach(<var>callback</var>[, <var>thisArg</var>])</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>callback</var></code></dt> + <dd>各要素に対して実行する関数で、 3つの引数を受け付けます。</dd> + <dd> + <dl> + <dt><code><var>currentValue</var></code>, <code><var>currentKey</var></code></dt> + <dd><code>Set</code>で現在 処理されている要素。 <code>Set</code> にはキー(key)がないため値(value)が両方に渡されます。</dd> + <dt><code><var>set</var></code></dt> + <dd><code>forEach()</code> が呼ばれている <code>Set</code> オブジェクト</dd> + </dl> + </dd> + <dt><code><var>thisArg</var></code></dt> + <dd><code><var>callback</var></code> を実行するとき、<code>this</code> として使用する値です。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>{{jsxref("undefined")}} です。</p> + +<h2 id="Description" name="Description">解説</h2> + +<p><code>forEach()</code> メソッドは <code>Set</code> オブジェクトに実際に存在する各値に対して一回、与えられた <code><var>callback</var></code> を実行します。削除された値に対しては呼び出されません。ですが、<code>undefined</code> の値をもつ要素に対しては実行されます。</p> + +<p><code><var>callback</var></code> は<strong>3つの引数</strong>で呼び出されます。</p> + +<ul> + <li><strong>要素値</strong></li> + <li><strong>要素キー</strong></li> + <li><strong>対象となる <code>Set</code> オブジェクト</strong></li> +</ul> + +<p><code>Set</code> オブジェクトにキーはありません。しかし、最初の 2 つの引数は、両方とも {{jsxref("Set")}} に含まれる<strong>値</strong>です。そのため <code><var>callback</var></code> 関数は {{jsxref("Map.foreach", "Map")}} や {{jsxref("Array.forEach","Array")}} の <code>forEach()</code> メソッドと矛盾がありません。</p> + +<p><code><var>thisArg</var></code> 引数が <code>forEach()</code> に与えられた場合、呼び出されたときに <code>this</code> 値として使用するために <code><var>callback</var></code> に渡されます。さもなければ、<code>this</code> 値として使用するために <code>undefined</code> 値が渡されます。<code><var>callback</var></code> によって最終的に観測可能な <code>this</code> 値は<a href="/ja/docs/Web/JavaScript/Reference/Operators/this">関数から見た <code>this</code> を決定するための通常のルール</a>に応じて決定されます。</p> + +<p>各値は一度だけ訪問されますが、 <code>forEach()</code> が終了する前に削除・再追加された場合は例外です。 到達する前に削除された値に対しては <code><var>callback</var></code> は実行されません。 <code>forEach()</code> が終了する前に追加された新規の値は訪問されます。</p> + +<p><code>forEach()</code> は <code>Set</code> オブジェクト内の各要素に対して一回 <code><var>callback</var></code> 関数を実行します。<code>forEach()</code> は値を返しません。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Logging_the_contents_of_a_Set_object" name="Logging_the_contents_of_a_Set_object">Set オブジェクトの内容を出力する</h3> + +<p>次のコードでは、<code>Set</code> オブジェクト内の各要素に対してログを出力します。</p> + +<pre class="brush:js notranslate">function logSetElements(value1, value2, set) { + console.log('s[' + value1 + '] = ' + value2); +} + +new Set(['foo', 'bar', undefined]).forEach(logSetElements); + +// logs: +// "s[foo] = foo" +// "s[bar] = bar" +// "s[undefined] = undefined" +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set.prototype.foreach', 'Set.prototype.forEach')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.forEach")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Array.prototype.forEach()")}}</li> + <li>{{jsxref("Map.prototype.forEach()")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/has/index.html b/files/ja/web/javascript/reference/global_objects/set/has/index.html new file mode 100644 index 0000000000..7de9558ad6 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/has/index.html @@ -0,0 +1,85 @@ +--- +title: Set.prototype.has() +slug: Web/JavaScript/Reference/Global_Objects/Set/has +tags: + - ECMAScript 2015 + - JavaScript + - Method + - Prototype + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/has +--- +<div>{{JSRef}}</div> + +<p><strong><code>has()</code></strong> メソッドは、特定の値をもつ要素が <code>Set</code> オブジェクト内に存在するかどうかを示す真偽値を返します。</p> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-has.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate"><var>mySet</var>.has(<var>value</var>);</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>value</var></code></dt> + <dd><code>Set</code> オブジェクトに存在するかテストする値です。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p><code>Set</code> オブジェクト内に特定の値をもつ要素が存在していたら <code>true</code> を返します。さもなければ <code>false</code> を返します。</p> + +<div class="blockIndicator note"> +<p><strong>注:</strong> 技術的に言えば、<code>has()</code> は <a href="/ja/docs/Web/JavaScript/Equality_comparisons_and_sameness#Same-value-zero_equality">Same-value-zero</a> アルゴリズムを使用して、指定された要素が見つかったかどうかを判断します。</p> +</div> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_the_has_method" name="Using_the_has_method">has() メソッドの使用</h3> + +<pre class="brush: js notranslate">var mySet = new Set(); +mySet.add('foo'); + +mySet.has('foo'); // returns true +mySet.has('bar'); // returns false + +var set1 = new Set(); +var obj1 = {'key1': 1}; +set1.add(obj1); + +set1.has(obj1); // returns true +set1.has({'key1': 1}); // オブジェクト参照が異なるため false を返す +set1.add({'key1': 1}); // set1 には2つのエントリが含まれるようになる +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set.prototype.has', 'Set.prototype.has')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.has")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set")}}</li> + <li>{{jsxref("Set.prototype.add()")}}</li> + <li>{{jsxref("Set.prototype.delete()")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/index.html b/files/ja/web/javascript/reference/global_objects/set/index.html new file mode 100644 index 0000000000..f487e97bfb --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/index.html @@ -0,0 +1,283 @@ +--- +title: Set +slug: Web/JavaScript/Reference/Global_Objects/Set +tags: + - Class + - ECMAScript 2015 + - Global Objects + - JavaScript + - Object + - Reference + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set +--- +<div>{{JSRef}}</div> + +<p><span class="seoSummary"><strong><code>Set</code></strong> オブジェクトは、{{Glossary("Primitive", "プリミティブ値")}}やオブジェクト参照を問わず、あらゆる型で一意の値を格納できます。</span></p> + +<h2 id="Description" name="Description">解説</h2> + +<p><code>Set</code> オブジェクトは値のコレクションです。挿入順に要素を反復することができます。<code>Set</code> に<strong>重複する値は格納出来ません</strong>。<code>Set</code> 内の値はコレクション内で一意となります。</p> + +<h3 id="Value_equality" name="Value_equality">値の等価性</h3> + +<p><code>Set</code> オブジェクト内の各値は一意でなければならないので、値の等価性が調べられます。初期の ECMAScript では <code>===</code> 演算子とは違うアルゴリズムが用いられていました。特に <code>+0</code> (厳密に言えば <code>-0</code> と等価です) と <code>-0</code> が区別されていた点は重要です。しかしこの振る舞いは ECMAScript 2015 で変更されました。<a href="#Browser_compatibility">ブラウザーの互換性</a>の「-0 と +0 の等価性」を参照してください。</p> + +<p>また、 {{jsxref("NaN")}} と {{jsxref("undefined")}} も Set 内に格納できます。<code>NaN</code> は (<code>NaN !== NaN</code> として扱われますが) <code>NaN</code> と同じと扱われます。</p> + +<h2 id="Constructor" name="Constructor">コンストラクター</h2> + +<dl> + <dt>{{jsxref("Global_Objects/Set/Set", "Set()")}}</dt> + <dd>新しい <code>Set</code> オブジェクトを生成します。</dd> +</dl> + +<h2 id="Static_properties" name="Static_properties">静的プロパティ</h2> + +<dl> + <dt>{{jsxref("Set.@@species", "get Set[@@species]")}}</dt> + <dd>派生オブジェクトを生成するために使用されるコンストラクター関数。</dd> +</dl> + +<h2 id="Instance_properties" name="Instance_properties">インスタンスプロパティ</h2> + +<dl> + <dt>{{jsxref("Set.prototype.size")}}</dt> + <dd><code>Set</code> オブジェクト内の値の数を返します。</dd> +</dl> + +<h2 id="Instance_methods" name="Instance_methods">インスタンスメソッド</h2> + +<dl> + <dt>{{jsxref("Set.add", "Set.prototype.add(<var>value</var>)")}}</dt> + <dd><code><var>value</var></code> を <code>Set</code> オブジェクトに追加します。<code>Set</code> オブジェクトを返します。</dd> + <dt>{{jsxref("Set.prototype.clear()")}}</dt> + <dd>すべての要素を <code>Set</code> オブジェクトから取り除きます。</dd> + <dt>{{jsxref("Set.delete", "Set.prototype.delete(<var>value</var>)")}}</dt> + <dd><code><var>value</var></code> に関連した要素を取り除き、<code>Set.prototype.has(<var>value</var>)</code> が以前に返していたはずの値を返します。<code>Set.prototype.has(<var>value</var>)</code> はその後に <code>false</code> を返します。</dd> + <dt>{{jsxref("Set.has", "Set.prototype.has(<var>value</var>)")}}</dt> + <dd><code>Set</code> オブジェクト内に引数で与えられた値をもつ要素が存在するかどうかを示す真偽値を返します。</dd> +</dl> + +<h3 id="Iteration_methods" name="Iteration_methods">反復処理メソッド</h3> + +<dl> + <dt>{{jsxref("Set.prototype.@@iterator()", "Set.prototype[@@iterator]()")}}</dt> + <dd>挿入順に <code>Set</code> オブジェクト内の各要素に対する <strong>values</strong> を生み出す新しい <code>Iterator</code> オブジェクトを返します。</dd> + <dt>{{jsxref("Set.prototype.keys()")}}</dt> + <dd>挿入順に <code>Set</code> オブジェクト内の各要素に対する値を含む新しい <code>Iterator</code> オブジェクトを返します。 (Set においては、これは<strong><code>values()</code></strong> メソッドと同じです。)</dd> + <dt>{{jsxref("Set.prototype.values()")}}</dt> + <dd>挿入順に <code>Set</code> オブジェクト内の各要素に対する <strong>values</strong> を含む新しい <code>Iterator</code> オブジェクトを返します。 (Set においては、これは <strong><code>keys()</code></strong> メソッドと同じです。</dd> + <dt>{{jsxref("Set.prototype.entries()")}}</dt> + <dd> + <p>挿入順に <code>Set</code> オブジェクト内の各要素に対して <strong><code>[<var>value</var>, <var>value</var>]</code> の配列</strong>を含む新しい <code>Iterator</code> オブジェクトを返します。</p> + + <p>これは {{jsxref("Map")}} オブジェクトに似させています。そのため、 <code>Set</code> においては各項目が <em>key</em> と <em>value</em> が同じ値になります。</p> + </dd> + <dt>{{jsxref("Set.forEach", "Set.prototype.forEach(<var>callbackFn</var>[, <var>thisArg</var>])")}}</dt> + <dd>挿入順に <code>Set</code> オブジェクト内に存在する各値に対して一度 <code>callbackFn</code> を呼びます。<code>thisArg</code> 引数が <code>forEach</code> に渡されたら、各コールバックに対して <code>this</code> 値として使用されます。</dd> +</dl> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_the_Set_object" name="Using_the_Set_object">Set オブジェクトの使用</h3> + +<pre class="brush: js notranslate">let mySet = new Set() + +mySet.add(1) // Set [ 1 ] +mySet.add(5) // Set [ 1, 5 ] +mySet.add(5) // Set [ 1, 5 ] +mySet.add('some text') // Set [ 1, 5, 'some text' ] +let o = {a: 1, b: 2} +mySet.add(o) + +mySet.add({a: 1, b: 2}) // o is referencing a different object, so this is okay + +mySet.has(1) // true +mySet.has(3) // 3 は集合にないため、false +mySet.has(5) // true +mySet.has(Math.sqrt(25)) // true +mySet.has('Some Text'.toLowerCase()) // true +mySet.has(o) // true + +mySet.size // 5 + +mySet.delete(5) // Set から 5 を削除 +mySet.has(5) // 5 が削除されているため false + +mySet.size // 要素を 1 つ削除しているため 4 + +console.log(mySet) +// logs Set(4) [ 1, "some text", {…}, {…} ] in Firefox +// logs Set(4) { 1, "some text", {…}, {…} } in Chrome +</pre> + +<h3 id="Iterating_Sets" name="Iterating_Sets">Set の反復操作</h3> + +<pre class="brush: js notranslate">// iterate over items in set +// logs the items in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} +for (let item of mySet) console.log(item) + +// logs the items in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} +for (let item of mySet.keys()) console.log(item) + +// logs the items in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} +for (let item of mySet.values()) console.log(item) + +// logs the items in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} +// (key and value are the same here) +for (let [key, value] of mySet.entries()) console.log(key) + +// convert Set object to an Array object, with <a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/from">Array.from</a> +let myArr = Array.from(mySet) // [1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2}] + +// the following will also work if run in an HTML document +mySet.add(document.body) +mySet.has(document.querySelector('body')) // true + +// converting between Set and Array +mySet2 = new Set([1, 2, 3, 4]) +mySet2.size // 4 +[...mySet2] // [1, 2, 3, 4] + +// intersect can be simulated via +let intersection = new Set([...set1].filter(x => set2.has(x))) + +// difference can be simulated via +let difference = new Set([...set1].filter(x => !set2.has(x))) + +// Iterate set entries with forEach() +mySet.forEach(function(value) { + console.log(value) +}) + +// 1 +// 2 +// 3 +// 4</pre> + +<h3 id="Implementing_basic_set_operations" name="Implementing_basic_set_operations">基本的な集合演算の実装</h3> + +<pre class="brush: js notranslate">function isSuperset(set, subset) { + for (let elem of subset) { + if (!set.has(elem)) { + return false + } + } + return true +} + +function union(setA, setB) { + let _union = new Set(setA) + for (let elem of setB) { + _union.add(elem) + } + return _union +} + +function intersection(setA, setB) { + let _intersection = new Set() + for (let elem of setB) { + if (setA.has(elem)) { + _intersection.add(elem) + } + } + return _intersection +} + +function symmetricDifference(setA, setB) { + let _difference = new Set(setA) + for (let elem of setB) { + if (_difference.has(elem)) { + _difference.delete(elem) + } else { + _difference.add(elem) + } + } + return _difference +} + +function difference(setA, setB) { + let _difference = new Set(setA) + for (let elem of setB) { + _difference.delete(elem) + } + return _difference +} + +// Examples +let setA = new Set([1, 2, 3, 4]) +let setB = new Set([2, 3]) +let setC = new Set([3, 4, 5, 6]) + +isSuperset(setA, setB) // => true +union(setA, setC) // => Set [1, 2, 3, 4, 5, 6] +intersection(setA, setC) // => Set [3, 4] +symmetricDifference(setA, setC) // => Set [1, 2, 5, 6] +difference(setA, setC) // => Set [1, 2] + +</pre> + +<h3 id="Relation_with_Array_objects" name="Relation_with_Array_objects">Array オブジェクトとの関係</h3> + +<pre class="brush: js notranslate">let myArray = ['value1', 'value2', 'value3'] + +// Use the regular Set constructor to transform an Array into a Set +let mySet = new Set(myArray) + +mySet.has('value1') // returns true + +// Use the spread operator to transform a set into an Array. +console.log([...mySet]) // Will show you exactly the same Array as myArray +</pre> + +<h3 id="Remove_duplicate_elements_from_the_array" name="Remove_duplicate_elements_from_the_array">配列から重複した要素を取り除く</h3> + +<pre class="brush: js notranslate">// Use to remove duplicate elements from the array + +const numbers = [2,3,4,4,2,3,3,4,4,5,5,6,6,7,5,32,3,4,5] + +console.log([...new Set(numbers)]) + +// [2, 3, 4, 5, 6, 7, 32]</pre> + +<h3 id="Relation_with_Strings" name="Relation_with_Strings">String との関係</h3> + +<pre class="brush: js notranslate">let text = 'India' + +let mySet = new Set(text) // Set ['I', 'n', 'd', 'i', 'a'] +mySet.size // 5 + +//case sensitive & duplicate ommision +new Set("Firefox") // Set(7) [ "F", "i", "r", "e", "f", "o", "x" ] +new Set("firefox") // Set(6) [ "f", "i", "r", "e", "o", "x" ] +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set-objects', 'Set')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Map")}}</li> + <li>{{jsxref("WeakMap")}}</li> + <li>{{jsxref("WeakSet")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/set/index.html b/files/ja/web/javascript/reference/global_objects/set/set/index.html new file mode 100644 index 0000000000..8837271c36 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/set/index.html @@ -0,0 +1,76 @@ +--- +title: Set() コンストラクター +slug: Web/JavaScript/Reference/Global_Objects/Set/Set +tags: + - Constructor + - JavaScript + - Reference + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/Set +--- +<div>{{JSRef}}</div> + +<p><span class="seoSummary"><strong><code>Set</code> コンストラクター</strong>は、あらゆる型の一意な<a href="/ja/docs/Glossary/Primitive">プリミティブ値</a>やオブジェクト参照を格納する <code>Set</code> オブジェクトを生成します。</span></p> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-constructor.html")}}</div> + +<p class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate">new Set([<var>iterable</var>])</pre> + +<h3 id="Parameters" name="Parameters">パラメーター</h3> + +<dl> + <dt><code><var>iterable</var></code> {{optional_inline}}</dt> + <dd> + <p><a href="/ja/docs/Web/JavaScript/Reference/Statements/for...of">反復可能オブジェクト</a>が渡された場合は、そのすべての要素が新しい <code>Set</code> に加えられます。</p> + + <p>このパラメーターを指定しなかった場合、または値が <code>null</code> だった場合、新しい <code>Set</code> は空になります。</p> + </dd> +</dl> + +<h3 id="Return_value" name="Return_value">戻り値</h3> + +<p>新しい <code>Set</code> オブジェクト。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_the_Set_object" name="Using_the_Set_object"><code>Set</code> オブジェクトの使用</h3> + +<pre class="brush: js notranslate">let mySet = new Set() + +mySet.add(1) // Set [ 1 ] +mySet.add(5) // Set [ 1, 5 ] +mySet.add(5) // Set [ 1, 5 ] +mySet.add('some text') // Set [ 1, 5, 'some text' ] +let o = {a: 1, b: 2} +mySet.add(o)</pre> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set-constructor', 'Set constructor')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.Set")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/size/index.html b/files/ja/web/javascript/reference/global_objects/set/size/index.html new file mode 100644 index 0000000000..3a286970fe --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/size/index.html @@ -0,0 +1,61 @@ +--- +title: Set.prototype.size +slug: Web/JavaScript/Reference/Global_Objects/Set/size +tags: + - ECMAScript 2015 + - JavaScript + - Property + - Prototype + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/size +--- +<div>{{JSRef}}</div> + +<p><strong><code>size</code></strong> アクセサープロパティは {{jsxref("Set")}} オブジェクト内の要素の数を返します。</p> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-size.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Description" name="Description">解説</h2> + +<p><code>size</code> の値は、<code>Set</code> オブジェクトがいくつの要素を持つかを表す整数値です。<code>size</code> に対するセットアクセサー関数は <code>undefined</code> です。よって、このプロパティは変更できません。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_size" name="Using_size">size の使用</h3> + +<pre class="brush:js notranslate">var mySet = new Set(); +mySet.add(1); +mySet.add(5); +mySet.add('some text') + +mySet.size; // 3 +</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-get-set.prototype.size', 'Set.prototype.size')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.size")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set")}}</li> +</ul> diff --git a/files/ja/web/javascript/reference/global_objects/set/values/index.html b/files/ja/web/javascript/reference/global_objects/set/values/index.html new file mode 100644 index 0000000000..6fe969853f --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/values/index.html @@ -0,0 +1,73 @@ +--- +title: Set.prototype.values() +slug: Web/JavaScript/Reference/Global_Objects/Set/values +tags: + - ECMAScript 2015 + - Iterator + - JavaScript + - Method + - Prototype + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/values +--- +<div>{{JSRef}}</div> + +<p><strong><code>values()</code></strong> メソッドは、挿入順で <code>Set</code> オブジェクト内の各要素の値を含んだ、新しいイテレーターオブジェクトを返します。</p> + +<div class="blockIndicator note"> +<p><strong>注</strong>: <strong><code>keys()</code></strong> メソッドは ({{jsxref("Map")}} オブジェクトとの類似性のため) このメソッドに対するエイリアスです。まったく同じように動作し、<code>Set</code> の各要素の<strong>値</strong>を返します。</p> +</div> + +<div>{{EmbedInteractiveExample("pages/js/set-prototype-values.html")}}</div> + +<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate"><var>mySet</var>.values();</pre> + +<h3 id="Return_value" name="Return_value">返値</h3> + +<p>挿入順で <code>Set</code> オブジェクト内の各要素の値を含んだ、新しいイテレーターオブジェクトです。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Using_values" name="Using_values">values() の使用</h3> + +<pre class="brush:js notranslate">var mySet = new Set(); +mySet.add('foo'); +mySet.add('bar'); +mySet.add('baz'); + +var setIter = mySet.values(); + +console.log(setIter.next().value); // "foo" +console.log(setIter.next().value); // "bar" +console.log(setIter.next().value); // "baz"</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ESDraft', '#sec-set.prototype.values', 'Set.prototype.values')}}</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Set.values")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("Set.prototype.entries()")}}</li> +</ul> |
