Javascript 使用Ramda删除阵列中的多个对象

Javascript 使用Ramda删除阵列中的多个对象,javascript,ramda.js,Javascript,Ramda.js,在ramda中是否有方法删除ramda中的多个对象 这是我的数组 const availableFeatures = [ { id: 1, name: "TEST 1", }, { id: 2, name: "TEST 2", }, { id: 3, name: "TEST 3" } ] 我要删除包含id 1和2的对象。使用可以删除数组中对象id为的所有对象。您可以使用: const availableFeatures=

在ramda中是否有方法删除ramda中的多个对象

这是我的数组

const availableFeatures = [
  {
    id: 1,
    name: "TEST 1",
  },
  {
    id: 2,
    name: "TEST 2",
  },
  {
    id: 3,
    name: "TEST 3"
  }
]
我要删除包含id 1和2的对象。

使用可以删除数组中对象id为
的所有对象。您可以使用:

const availableFeatures=[
{
id:1,
名称:“测试1”,
},
{
id:2,
名称:“测试2”,
},
{
id:3,
名称:“测试3”
}
];
const result=R.reject(({id}=>id==1 | | id==2,可用特性);
控制台日志(结果)

您可以使用此解决方案

const availableFeatures=[
{
id:1,
名称:“测试1”,
},
{
id:2,
名称:“测试2”,
},
{
id:3,
名称:“测试3”
}
]
const result=R.reject(
R.anyPass([
R.propEq('id',1),
R.propEq('id',2)
])
)(可用功能);
控制台日志(结果)

我喜欢使用
where
构建谓词:

const x=reject(其中({id:flip(includes)([1,2]))
console.log(x(availableFeatures))

const{reject,其中,flip,includes}=R;
常数可用特性=
[{id:1
,名称:“测试1”
},
{id:2
,名称:“测试2”,
},
{id:3
,名称:“测试3”
}
];

类似的操作也可以:

const黑名单=R(
R.包括(R.uuuuuuuuuuuuuu[1,2]),
“id”,
);
常数fn=R.拒绝(黑名单);
// ----
常数数据=[
{
id:1,
名称:“测试1”,
},
{
id:2,
名称:“测试2”,
},
{
id:3,
名称:“测试3”
}
];
console.log(fn(数据))

这是不能使用普通javascript过滤器的特殊情况吗?