JavaScriptで配列をflattenするには

目的

JavaScriptで、RubyArray.flattenのようなことをしたい

方法

let nested = [[1], [2,3],[], [5]];
var flat = [].concat.apply([], nested);

他の方法 Array.prototype.flat() | MDN

This is an experimental technology

Check the Browser compatibility table carefully before using this in production. The flat() method creates a new array with all sub-array elements concatenated into it recursively up to the specified depth.

参考リンク

  • Array.prototype.concat() | MDN

    concat() メソッドは、配列に他の配列や値をつないでできた新しい配列を返します。

  • Function.prototype.apply() | MDN

    apply() メソッドは与えられた this 参照値と、配列 (もしくは配列風のオブジェクト) の形で与えられた引数を用いて関数を呼び出します。