pcwu's TIL Notes


[JS] 利用 slice 和 concat 不帶副作用的處理陣列

sliceconcatfunctional programming 中很重要,因為它是一個pure function,用來處理陣列就不會像直接將陣列改變會產生副作用。

Slice

Usage

const a = ['zero', 'one', 'two', 'three'];
const sliced = a.slice(1, 3);

console.log(a);      // ['zero', 'one', 'two', 'three']
console.log(sliced); // ['one', 'two']

Syntax

arr.slice()
arr.slice(begin)
arr.slice(begin, end)

Concat

Usage

const num1 = [1, 2, 3];
const num2 = [4, 5, 6];
const num3 = [7, 8, 9];

const nums = num1.concat(num2, num3);

console.log(nums); // 結果: [1, 2, 3, 4, 5, 6, 7, 8, 9]

Reference