JavaScript 入門 flatMap の応用
flatMap は map と flat をまとめて行ってくれる便利な関数です。
これを利用することで filter とは逆の動きをすることが可能です。
つまり、要素を除去ではなく、追加できます。
例えば、文字列の配列があるとして、各要素の文字列が空なら除外し、3文字以上なら先頭3文字と残りの文字に分割したい場合に、以下のようにします。
const myData = ['apple', '', 'banana', 'grape'];
const result = myData.flatMap(d => d.length === 0 ? [] :d.length > 4 ? [d.substr(0, 3), d.substr(3)] : d);
console.log(result); // ["app", "le", "ban", "ana", "gra", "pe"]
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap
最近のコメント