[JS] 利用 slice 和 concat 不帶副作用的處理陣列
slice
和 concat
在 functional 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
-
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
-
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/concat