點燈坊

失くすものさえない今が強くなるチャンスよ

使用 concat() 合併兩個 Array

Sam Xiao's Avatar 2019-07-06

實務上常遇到將 2 個 Array 合併成單一 Array,可使用 concat() 合併之。

Version

Ramda 0.27.1

Array.prototype.concat()

let a = [1, 2, 3]
let b = [4, 5, 6]

a.concat(b) // ?

Array.prototype 內建 concat(),可直接將兩個 Array 合併。

concat000

concat()

import { pipe, concat } from 'ramda'

let a = [1, 2, 3]
let b = [4, 5, 6]

pipe(
  concat(a)
)(b) // ?

事實上 Ramda 已經內建 concat() 可直接使用。

concat()
[a] → [a] → [a]
將兩個相同結構的 array 合併成單一 Array

[a]:第一個 Array

[a]:第二個 Array

[a]:回傳合併後的 Array

concat001

Conclusion

  • concat() 不只能用在 Array,也能用在 String
  • Ramda 的 concat() 其實很簡單,且 Array 與 String 都能用,也展現了 function 與 data 分離後,不再只是單一型別的 method,可套用在不同型別上

Reference

MDN, concat()
Ramda, concat()