ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でのマップとセットの操作: 総合ガイド
マップ と セット は、ES6 (ECMAScript 2015) で導入された 2 つの重要なデータ構造であり、従来のオブジェクトや配列よりも強化された機能を提供します。 マップ と セット の両方を使用すると、一意の値を保存し、より組織的かつ効率的な方法でデータを操作できます。
マップ は、キーと値の両方が任意のデータ型であるキーと値のペアのコレクションです。文字列またはシンボルのみをキーとして持つことができるオブジェクトとは異なり、マップ では、任意の値 (オブジェクト、配列、関数など) をキーとして使用できます。
マップを作成するには、Map コンストラクターを使用できます。
const map = new Map();
または、キーと値のペアの配列を使用してマップを初期化することもできます。
const map = new Map([ ['name', 'Alice'], ['age', 25], ['city', 'New York'] ]); console.log(map);
set() メソッドを使用してエントリを追加できます。
const map = new Map(); map.set('name', 'John'); map.set('age', 30); map.set('city', 'Los Angeles'); console.log(map);
get() メソッドを使用して、キーに関連付けられた値にアクセスできます。
const map = new Map([ ['name', 'Alice'], ['age', 25] ]); console.log(map.get('name')); // Output: Alice console.log(map.get('age')); // Output: 25
キーが存在するかどうかを確認するには、has() メソッドを使用します。
const map = new Map([ ['name', 'John'], ['age', 30] ]); console.log(map.has('name')); // Output: true console.log(map.has('city')); // Output: false
delete() メソッドを使用してキーと値のペアを削除できます。
map.delete('age'); console.log(map.has('age')); // Output: false
マップからすべてのエントリをクリアするには:
map.clear(); console.log(map.size); // Output: 0
forEach() または for...of ループを使用して、Map 内のキーと値のペアを反復処理できます。
const map = new Map([ ['name', 'Alice'], ['age', 25] ]); // Using forEach map.forEach((value, key) => { console.log(key, value); }); // Using for...of for (const [key, value] of map) { console.log(key, value); }
Set は一意の値のコレクションであり、重複する値があれば自動的に削除されます。複数の同一の要素を格納できる配列とは異なり、Set では、コレクション内のすべての値が一意であることが保証されます。
Set コンストラクターを使用して Set を作成できます。
const set = new Set();
または、値の配列を使用して Set を初期化することもできます。
const set = new Set([1, 2, 3, 4, 5]); console.log(set);
add() メソッドを使用して Set に値を追加できます。
const set = new Set(); set.add(1); set.add(2); set.add(3); set.add(2); // Duplicate value, won't be added console.log(set); // Output: Set { 1, 2, 3 }
Set に値が存在するかどうかを確認するには、has() メソッドを使用します。
console.log(set.has(2)); // Output: true console.log(set.has(4)); // Output: false
delete() メソッドを使用して Set から値を削除できます。
const map = new Map();
セットからすべての値をクリアするには:
const map = new Map([ ['name', 'Alice'], ['age', 25], ['city', 'New York'] ]); console.log(map);
forEach() または for...of ループを使用して Set 内の値を反復処理できます。
const map = new Map(); map.set('name', 'John'); map.set('age', 30); map.set('city', 'Los Angeles'); console.log(map);
Feature | Map | Set |
---|---|---|
Storage | Stores key-value pairs | Stores unique values only |
Key Types | Any type (objects, arrays, primitive types) | Only values (no keys) |
Uniqueness | Keys must be unique, values can repeat | Values must be unique |
Order of Elements | Iterates in insertion order | Iterates in insertion order |
Size | map.size | set.size |
Methods | set(), get(), has(), delete(), clear() | add(), has(), delete(), clear() |
サイズ
ユーザー設定の保存
マップ は、あらゆるデータ型をキーとしてサポートする効率的なキーと値のペアのストレージを提供し、挿入順序を維持します。
セット
以上がJavaScript でのマップとセットの操作: 総合ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。