[英]Ramda: replace NULL values in json array
我们有一个json数组,其形式为:
[
{id: 123, name: 'abc', symbol: 'xyz'},
{id: 456, name: 'def', symbol: null},
...
]
我们正在寻找一种Ramda转换,它将用一个简单的”(空字符串)替换所有'symbol'属性为NULL的实例。 关于如何无需进入forEach或for ... next循环的任何想法?
const data = [ {id: 123, name: 'abc', symbol: 'xyz'}, {id: 456, name: 'def', symbol: null}, // ... ]; const newData = R.map(R.over(R.lensProp('symbol'), R.defaultTo('')), data); console.log(newData);
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.25.0/ramda.min.js"></script>
这个怎么样?
R.map(({ symbol, ...otherProps }) => ({ ...otherProps, symbol: symbol || '' }))(arr);
您可以使用带有set
lensProp
。
arr.map(o => R.set(R.lensProp('symbol'), o.symbol || '', o))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.