[JSInfo] Map & Set
3779 ワード
MapとSetを理解する前に、オブジェクトと配列を理解する必要があります.
≪オブジェクト|Object|ldap≫:鍵付きのコレクションを保存します.
≪タイル|Tiling|oem_src≫:順序付きの集合を保存します.
しかし機能不足のため、MapとSetを使用しました.
鍵が格納されているデータは、オブジェクトと似ています.ただし、Mapでは、鍵に複数のデータ型を使用できます.
新Map():Mapを作成します. map.set(key,value):keyを使用してvalueを保存します. map.get(key):keyに対応する値を返します.キーが存在しない場合はundefinedを返します. map.has(key):keyが存在する場合はtrueを返し、存在しない場合はfalseを返します. map.delete(key):keyに対応する値を削除します. map.clear():マッピング内のすべての要素を削除します. map.size:要素の数を返します. ex)Mapの使用例
mapを使用する場合はsetとgetのみを使用してキー値を設定し、ロード時に使用することをお勧めします.
map.keys():各要素のキーを含む重複可能なオブジェクト(iterable)を返します. map.values():各要素値を収集するiterableオブジェクトを返します. map.entries():要素のキー、値がペアであるiterableオブジェクトのペアを返します. ex)
これとは反対の概念.
Setは、重複が許されない値を含む特殊な集合です.鍵を持たない値が格納されます. new Set(iterable):3つ作成iterableオブジェクトを受信すると、配列が受信されます.値をコピーして加算します. set.add(value):値を追加し、Set自体を返します. set.delete(value):値を削除します.呼び出しポイントリソースに値がある必要があります.削除に成功するとtrueが返され、削除に失敗するとfalseが返されます. set.has(value):コレクションに値がある場合はtrueまたはfalseを返します. set.clear():Setを空にします. set.size:セットの値をチェックします.
set.add(value)を使用する場合、同じ値がある場合、反応はありません.
値の繰返しが許可されていない場合は、Setを使用します.
for...ofまたはforEachを使用して、設定値を繰り返します.
ex)for...of set.keys():コレクション内のすべての値を含むiterableオブジェクトを返します. set.values() : set.keysと同じ操作を実行します.(これはMapとの互換性のために作成された方法です.) set.entries():セット内の各値の「value,value」配列を含むiterableオブジェクトを返します.
ブラウズの結果...何を言っているのか分からないので、後で整理します.
≪オブジェクト|Object|ldap≫:鍵付きのコレクションを保存します.
≪タイル|Tiling|oem_src≫:順序付きの集合を保存します.
しかし機能不足のため、MapとSetを使用しました.
Map
鍵が格納されているデータは、オブジェクトと似ています.ただし、Mapでは、鍵に複数のデータ型を使用できます.
Map Method
let map = new Map();
map.set('1', 'str1');
map.set(1, 'num1');
map.set(true, 'bool1');
console.log(map.get(1)); // 'num1' 출력
console.log(map.get('1'); // 'str1' 출력
console.log(map.size); // 3
注意事項
mapを使用する場合はsetとgetのみを使用してキー値を設定し、ロード時に使用することをお勧めします.
Map要素の操作を繰り返す
let drinkMap = new Map([
['Soju', 5000],
['Beer', 4000],
['Water', 1000],
]);
for(let drink of drinkMap.key()){
console.log(drink); // Soju, Beer, Water 출력
};
for(let price of drinkMap.values()){
console.log(price); // 5000, 4000, 1000 출력
}
for(let menu of drinkMap){
console.log(menu);
} // Soju, 5000, Beer, 4000, Water, 1000 출력
マッピングは、挿入された値の順序を記憶し、順番に実行します.Object.entries:オブジェクトをマッピングに置き換える
let obj = {
name: "KJ",
age: 31
};
let map = new Map(Object.entries(obj));
console.log(map.get('name')); // KJ 출력
Object.entriesを使用してオブジェクトobjを配列に置き換え、その配列を使用して新しいマッピングを作成できます.Object.fromEntryys:マッピングをオブジェクトに置き換える
これとは反対の概念.
let prices = Object.fromEntries([
['Soju', 1],
['Beer', 2],
['Water', 4]
]);
console.log(prices.Soju); // 1출력
Set
Setは、重複が許されない値を含む特殊な集合です.鍵を持たない値が格納されます.
注意事項
set.add(value)を使用する場合、同じ値がある場合、反応はありません.
値の繰返しが許可されていない場合は、Setを使用します.
let set = new Set();
let KJ = {name: "KJ"};
let SJ = {name: "SJ"};
let SH = {name: "SH"};
set.add(KJ);
set.add(SJ);
set.add(SH);
set.add(SY);
set.add(KO);
console.log(set.size); // 3 (SY와 KO는 별도 선언이 없어 추가가 안된다.);
for(let user of set){
console.log(user.name);
// KJ, SJ, SH 출력
}
Setの長所は唯一(Unique).重複する値の心配はありません.Set値の操作を繰り返す
for...ofまたはforEachを使用して、設定値を繰り返します.
ex)for...of
let set = new Set(['KJ', 'SJ', 'ET']);
for(let value of set);
console.log(value);
ex) forEachlet set = new Set(['KJ', 'SJ', 'ET']);
set.forEach((value, valueAgain, set) => {
console.log(value);
});
結論。
ブラウズの結果...何を言っているのか分からないので、後で整理します.
Reference
この問題について([JSInfo] Map & Set), 我々は、より多くの情報をここで見つけました https://velog.io/@cptkuk91/JS18テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol