繁体   English   中英

通过ID从数组Ramda中删除对象

[英]Delete object by id from array Ramda

我想使用Ramda通过ID从数组中删除对象。 例如:

const arr = [
  {id: '1', name: 'Armin'},
  {id: '2', name: 'Eren'}, <- delete this object
  {id: '3', name: 'Mikasa'}
];

您可以使用带有组合函数propEq & not用户filter功能

const result = filter(
  compose(
   not,
   propEq('id', 2)
  ),
  array,
)
console.log(result)

您可以使用reject

reject()是filter()的补充。 它排除谓词为其返回true的可过滤元素。

let res = R.reject(R.propEq('id', '2'))(arr);

您可以同时使用filterreject

R.reject(o => o.id === '2', arr);

R.filter(o => o.id !== '2', arr);

 // you could create a generic rejectWhere function const rejectWhere = (arg, data) => R.reject(R.whereEq(arg), data); const arr = [ {id: '1', name: 'Armin'}, {id: '2', name: 'Eren'}, // <- delete this object {id: '3', name: 'Mikasa'} ]; console.log( 'result', rejectWhere({ id: '2' }, arr), ); // but also // rejectWhere({ name: 'Eren' }, arr), 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js" integrity="sha256-xB25ljGZ7K2VXnq087unEnoVhvTosWWtqXB4tAtZmHU=" crossorigin="anonymous"></script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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