繁体   English   中英

Ramda:替换JSON数组中的NULL值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM