點燈坊

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

使用 zipObj() 將兩個 Array 合併成 Object

Sam Xiao's Avatar 2020-07-25

實務上常遇到在 Function Pipeline 中處理 Array,但結果卻是 Object,此時可用 zipObj() 加以轉換。

Version

Ramda 0.27.1

zipObj()

import { zipObj } from 'ramda'

let data1 = ['a', 'b', 'c']
let data2 = [1, 2, 3]

let f = zipObj

f (data1) (data2) // ?

若想兩個 Array 合併成 Object,可使用 zipObj() 合併。

zipObj()
[String] → [*] → {String: *}
將兩個 Array 合併成單一 Object

[String]:提供 key 的 Array

[*]:提供 value 的 Array

{String: *}:合併成單一 Object

zipobj000

Conclusion

  • 實務上常會遇到 key 與 value 來自不同 Array,最後要合併成單一 Object,此時 zipObj() 就非常好用

Reference

Ramda, zipObj()