ami*_*mir 9 javascript ramda.js
我有一个像下面的对象数组:
[{name:'name', key:'21',good: 'true'},
{name: 'another name', key:'22',good:'false'},
...]
Run Code Online (Sandbox Code Playgroud)
现在我想对这个数组中的一个对象进行更改.我的第一次尝试是这样的:
const s = R.compose(
R.assoc('good', checked),
R.propEq('key', name),
R.map(),
);
Run Code Online (Sandbox Code Playgroud)
但这个代码resualt是我想要的对象,只有它的'good'属性.我希望通过这种改变得到整个阵列.
Sco*_*yet 16
我会做这样的事情:
const alter = curry((checked, key, items) => map(
when(propEq('key', key), assoc('good', checked)),
items
))
alter('true', '22', items)
Run Code Online (Sandbox Code Playgroud)
这有包括没有自由变量的优势(如checked与name原)的钻营可以,如果你永远不会需要这部分版本被丢弃.
您可以在Ramda REPL上看到这一点.
| 归档时间: |
|
| 查看次数: |
7132 次 |
| 最近记录: |