Build a new array by spreading existing values.

array-spread Array spread copies values into a new array literal. It is often clearer than manual pushes when you are building a short derived list.

Array Spread

extra
spread_array.js
Replay: real traced execution (multi-file project)
const extra = 4;
const joined = [...[1, 2], extra, 9].join(",");
const count = joined.split(",").length;

console.log("joined=" + joined);
console.log("count=" + count);
const extra = 6;
const joined = [...[1, 2], extra, 9].join(",");
const count = joined.split(",").length;

console.log("joined=" + joined);
console.log("count=" + count);
const extra = 8;
const joined = [...[1, 2], extra, 9].join(",");
const count = joined.split(",").length;

console.log("joined=" + joined);
console.log("count=" + count);
  1. extra ← 4, joined ← 1,2,4,9, count ← 4

    1const extra→ 4 = 4; //@extra=6, 82const joined→ 1,2,4,9 = [...[1, 2], extra4, 9].join(",");3const count→ 4 = joined1,2,4,9.split(",").length;45console.log("joined=" + joined1,2,4,9);6console.log("count=" + count4);
    outputjoined=1,2,4,9
    count=4
  1. extra ← 6, joined ← 1,2,6,9, count ← 4

    1const extra→ 6 = 6;2const joined→ 1,2,6,9 = [...[1, 2], extra6, 9].join(",");3const count→ 4 = joined1,2,6,9.split(",").length;45console.log("joined=" + joined1,2,6,9);6console.log("count=" + count4);
    outputjoined=1,2,6,9
    count=4
  1. extra ← 8, joined ← 1,2,8,9, count ← 4

    1const extra→ 8 = 8;2const joined→ 1,2,8,9 = [...[1, 2], extra8, 9].join(",");3const count→ 4 = joined1,2,8,9.split(",").length;45console.log("joined=" + joined1,2,8,9);6console.log("count=" + count4);
    outputjoined=1,2,8,9
    count=4