js 小技巧 #0: merge multiple arrays by concat apply()


今天剛好有個 case,是要用 Promise.all() 去非同步取三筆 array 資料回來,然後再組合成一個 array 吐出去。

兩個 array 合成一個 array 的情況我做過,所以知道能用 concat() 做到,但 N 個 array 的情況我就沒遇過了。

於是,一開始我很蠢的想這樣做

let arrayMerged = array1.concat(array2);
let arrayMerged = arrayMerged.concat(array3);

但光想就覺得這樣寫實在太蠢了,所以就去看了看 document,才發現 concat() 其實可以吃 N 個 parameters 呀!

然後再順便 stackoverflow 了一下,就又發現了更漂亮的 concat() + apply() 的寫法,就像下面 Gist 寫的囉。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.