配列、連想配列、Mapオブジェクト まとめ
結構適当にやってると、頭の中でごちゃごちゃになって、 初心者ミスでコードが動かないことが結構あります。
カンニングペーパーの様に時々見返して脳みそに書き込んで置けたら いいな。と思って書いてみました。
ある程度、玄人向けなので、余計な説明は付けていないので、説明が必要な人は別のサイトで勉強してください。
随時、追加していきます
配列
初期化
let array = []; // 連想配列と同じ
let array = Array(10); // 10は初期化する数 // newは省略できる
let array = [ 1, 2, 3 ];
文字列から配列
let array = '1 11 5'.split(' '); // 指定した文字列(例では' ')で区切って配列にする // [ 1, 11, 5 ]
let array = 'hello'.split(''); // 1文字ずつ配列にする // [ 'h', 'e', 'l', 'l', 'o' ]
let array = 'hello'.split(); // 単に一つの配列にする // [ 'hello' ]
関係のない変数に展開(分割代入)
let [ one, two, three ] = array; // {}ではなく[]
追加
let item = array.unshift('hello'); // 最初に追加
let item = ['bye', ...array]; // 最初に追加
let item = array.push('hello'); // 最後に追加
let item = [...array, 'bye']; // 最後に追加
取得して元の配列も同時に操作
let item = array.shift(); // 最初を取得してarrayからは消す
let item = array.pop(); // 最後を取得してarrayからは消す
配列の切り出し
let array = [ 1, 2, 3, 4, 5 ];
console.log(array.splice(1, 2)); // index1(2番目)から2つを返す // [ 2, 3 ]
console.log(array); // 切り出した残りの部分になる // [ 1, 4, 5 ]
その他
let length = array.length; // 配列の総数を取得 // ()は要らない
let unique = [...new Set([ 1, 1, 3, 3, 5 ])]; // 重複削除 [ 1, 3, 5 ]
連想配列
空の初期化
let array = []; // 配列と同じ
let array = { 'hello' : 0, 'bye' : 1 }; // 定義する場合は[]ではなく{}
Mapオブジェクト
初期化
let map = new Map(); // 空のMap
let map = new Map([[ 'hello', 0 ], [ 'bye', 1 ]]); // []は2重 // 初期化のペアは:ではなく,
let map2 = new Map(map); // 複製
let map3 = new Map([...map, ...map2], [1, 'hello']); // マージ (同一キーは後勝ち) // 配列もマージ可能
配列にする
let keys = [...map.keys()];
let values = [...map.values()];
その他
let count = map.size; // 要素数の取得 // ()は要らない // 配列のようにlengthではない
let hasHello = map.has('hello'); // 要素が存在するか
map.delete('hello'); // 要素の削除
map.clear(); // 全要素の削除
map.forEach((v, k) => console.log('key:' + k + ', value:' + v)); // 反復処理