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 循环的情况下完成此操作的任何想法?
这个怎么样?
R.map(({ symbol, ...otherProps }) => ({ ...otherProps, symbol: symbol || '' }))(arr);
您可以将 lensProp
与 set
一起使用。
arr.map(o => R.set(R.lensProp('symbol'), o.symbol || '', o))
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>
我们有一个 json 数组,其形式为:
[
{id: 123, name: 'abc', symbol: 'xyz'},
{id: 456, name: 'def', symbol: null},
...
]
我们正在寻找一个 Ramda 转换,它将用一个简单的 ''(空字符串)替换所有 'symbol' 属性 为 NULL 的实例。关于如何在不进入 forEach 或 for...next 循环的情况下完成此操作的任何想法?
这个怎么样?
R.map(({ symbol, ...otherProps }) => ({ ...otherProps, symbol: symbol || '' }))(arr);
您可以将 lensProp
与 set
一起使用。
arr.map(o => R.set(R.lensProp('symbol'), o.symbol || '', o))
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>