プログラミングBlog

アプリ開発サークル勉強会⑫ 開催日時 2021年3月20日(土) 7:00-9:00

本日もこちらの問題やりました!

Q49-51 https://gist.github.com/kenmori/1961ce0140dc3307a0e641c8dde6701d

Map

Mapオブジェクトはkey,value形式で値を保持することができる。
二次元配列から値を取得したい場合。

Map不使用

var fafa = [['one', 'info@fa'], ['two', 'send@fafa'], ['three', 'hoso@fafa']];

var str;
fafa.forEach(function (value) {
    value.forEach(function (val) {
        if (val === 'send@fafa') {
            str = val;
        }
    });
});
// 結果
send@fafa

Map使用

var map = new Map(fafa);
console.log(map.get('two'));
// 結果
send@fafa

こんな簡単に取得できるとは。。。

結合

var fafa2 = [['four', 'deo@fafa']];

var map = new Map([...fafa, ...fafa2]);
console.log(map);
// 結果
Map(4) {
  'one' => 'info@fa',
  'two' => 'send@fafa',
  'three' => 'hoso@fafa',
  'four' => 'deo@fafa'
}

...

こんな書き方もあるのね。
二次元→一次元

var fafa = [['one', 'info@fa'], ['two', 'send@fafa'], ['three', 'hoso@fafa']];
console.log(fafa);
// 結果
[
  [ 'one', 'info@fa' ],
  [ 'two', 'send@fafa' ],
  [ 'three', 'hoso@fafa' ]
]
var fafa = [['one', 'info@fa'], ['two', 'send@fafa'], ['three', 'hoso@fafa']];
console.log(...fafa);
// 結果
[ 'one', 'info@fa' ] [ 'two', 'send@fafa' ] [ 'three', 'hoso@fafa' ]