Javascript 使用Ramda删除阵列中的多个对象
在ramda中是否有方法删除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=
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过滤器的特殊情况吗?