setPath$ - nodef/extra-array GitHub Wiki

Set value at path in a nested array!

Alternatives: set, set$, setPath$. Similar: hasPath, getPath, setPath$, removePath$. Similar: get, set, remove.

function setPath$(x, p, v)
// x: a nested array (updated!)
// p: path
// v: value
const xarray = require('extra-array');

var x = [[2, 4], 6, 8];
xarray.setPath$(x, [1], 60);
// → [ [ 2, 4 ], 60, 8 ]

x;
// → [ [ 2, 4 ], 60, 8 ]

xarray.setPath$(x, [0, 1], 40);
// → [ [ 2, 40 ], 60, 8 ]

xarray.setPath$(x, [0, 1, 2], 100);
// → [ [ 2, 40 ], 60, 8 ]  (path not present, no effect)

References