assocPath()
除了能用在 Nested Object 外,也能用在 Nested Array。
Version
Ramda 0.27.1
Add Element
import { pipe, assocPath } from 'ramda'
let data = [0, [1, 2]]
pipe(
assocPath([1, 2], 3)
)(data) // ?
若指定 index 不存在,assocPath()
將新增 element。
assocPath()
[Int] -> a -> [a] -> [a]
對 Array 新增或修改 element,並回傳全新 Array
[Int]
:Nested Array 的 index 以 Array 傳入
a
:element 的 value
[a]
:data 為 Array
[a]
:回傳新 Array
Modify Element
import { pipe, assocPath } from 'ramda';
let data = [0, [1, 2]]
pipe(
assocPath([1, 1], 3)
)(data) // ?
若 index 已存在,則相當於修改既有 element。
Conclusion
- 由於 ECMAScript 的 Object 與 Array 的曖昧關係,導致
assocPath()
也能用於 Array