Ramda:如何删除具有空值的对象中的关键点?
我有此对象:
let obj = {
matrimonyUrl: 'christian-grooms',
search_criteria:
'a:2:{s:6:"gender";s:4:"Male";s:9:"community";s:9:"Christian";}',
mothertongue: null,
religion: 'Christian',
caste: '',
country: null
};
我需要删除此对象中值为空的所有键/值对,即''
因此,在上述情况下应删除caste: ''
属性。
我已尝试:
R.omit(R.mapObjIndexed((val, key, obj) => val === ''))(obj);
但这不会做任何事情。reject
也不起作用。我做错了什么?
解决方案
您可以使用R.reject(或R.filter)通过回调从对象中删除属性:
const obj = {
matrimonyUrl: 'christian-grooms',
search_criteria:
'a:2:{s:6:"gender";s:4:"Male";s:9:"community";s:9:"Christian";}',
mothertongue: null,
religion: 'Christian',
caste: '',
country: null
};
const result = R.reject(R.equals(''))(obj);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script>
相关文章