[英]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);
您可以同時使用filter
或reject
:
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.