ECMA Script6(JavaScript)の配列のmapメソッドの使い方についです。
mapメソッドは配列の要素を編集して返却するメソッドです。元の配列を破壊することはありあせん。
記述方法は以下のように記述します。
1 2 3 |
let arr = [ { name: 'taro', age: 20 }, { name: 'jiro', age: 32 } ]; let ret = arr.map((e) => e.age); console.log(ret); |
結果は以下のようになります。
1 |
[ 20, 32 ] |
元の配列と同じ要素数返却されます。filterメソッドと併用することが多いかと思います。
配列のmapメソッドでオブジェクト配列を返す方法
配列からmapメソッドでオブジェクトを返す方法です。
1 2 3 |
let arr = [ { name: 'taro', age: 20 }, { name: 'jiro', age: 32 } ]; let ret = arr.map((e) => ({a:e.name,b:e.age}));// オブジェクトを()で囲むこと console.log(ret); |
結果は以下のようになります。
1 |
[ { a: 'taro', b: 20 }, { a: 'jiro', b: 32 } ] |
これも配列の要素がオブジェクトに変わっただけで、要素数が変わることはありません。
mapメソッドからfilterメソッドを使って不要な要素を絞る
filterメソッドは関数の条件がtrueの条件のみ絞って抽出してくれます。
mapしてfilterするというのはよくあるロジックです。
1 2 3 4 |
let arr = [ { name: 'taro', age: 20 }, { name: 'jiro', age: 32 } ]; let ret = arr.map((e) => ({a:e.name,b:e.age}));// オブジェクトを()で囲むこと let a = ret.filter((e) => e.a === 'taro'); console.log(a);// [ { a: 'taro', b: 20 } ]が返ってくる |
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^