JavaScript:配列のコピー
code:bad.js
// 代入はコピーではない
const r = a; // これはコピーではなく参照渡しになる。
浅いコピーになることに注意
code:concat.js
// 早いがやや直感的ではない
const r = [].concat(a);
code:slice.js
// 汎用性が高い。concat より少し遅いのは length アクセスのせいか?
const r = a.slice(0, a.length);
code:spread.js
// 実はかなり遅い模様
code:arrayfrom.js
// 本来はこれが最速であるべきだが、なぜか遅い。
const r = Array.from(a);
code:map.js
// できることはその通りだがとても冗長。
const r = a.map(x => x);