ES2015 mapとset
10179 ワード
mapオブジェクト
オブジェクトを格納するためのオブジェクトという認識。
mapオブジェクトの生成
//オブジェクトを作成する
const teacher1 = {name:"shinichi"};
const teacher2 = {name:"noguchi"};
const teacher3 = {name:"madoka"};
//作成したそれぞれのオブジェクトに値を割り当てる
const mapObj = new Map([
[teacher1,"国語"],
[teacher2,"英語"],
[teacher3,"数学"]
]);
mapオブジェクトが特定のキーを保持しているかを判定
if (mapObj.has(teacher1)) {
//マップオブジェクトがteacher1のキーを持っていたら。
}
mapオブジェクトが保有するオブジェクトの個数を取得
console.log("teacherの数:" + mapObj.size);
mapオブジェクトにオブジェクトを追加
const teacher4 = {name:"saito"};
mapObj.set(teacher4,"理科");
mapオブジェクト内の特定のオブジェクトの値を特定
mapオブジェクト.get(オブジェクト名)で何の値を紐づけられているかを確認することができる。
console.log("teacher1の担当:" + mapObj.get(teacher1)); //teacher1の担当:国語
mapオブジェクトのすべての値を取得する。
keyを全部取得。keys()。
const keys = mapObj.keys();
for (let key of keys) {
console.log("キーたち:" + key);
}
全部の値を取得。values()。
const values = mapObj.values();
for (var value of values) {
console.log("値たち:" + value);
}
すべての要素(キーと値の対応関係)を取得する。entries()。
for (let teacher of mapObj.entries()){
console.log("ティーチャー名:" + teacher[0].name + "の");
console.log("担当教科は:" + teacher[1]);
}
mapオブエジェクトから特定の要素を削除
mapObj.delete(teacher2);
for (let teacher of mapObj.entries()){
console.log("残ったティーチャー:" + teacher[0].name); //残ったティーチャーはshinichiとmadokaとsaitoになった。
}
setオブジェクト
set(集合)の意味。配列とは異なり、重複した値を格納することができない。
setオブジェクト生成
const subject = new Set();
値を追加
subject.add("数学");
subject.add("理科");
値の取得、その1
for (let value of subject.values()) {
console.debug(value);
}
値の取得、その2
for (let value of subject.entries()) {
console.debug(value);
}
Author And Source
この問題について(ES2015 mapとset), 我々は、より多くの情報をここで見つけました https://qiita.com/hitcracker317/items/7070f4ada35e2c1cea62著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .