【发布时间】:2017-10-25 06:14:25
【问题描述】:
如果嵌套数据中存在某个值,我正在尝试从对象数组中删除一个对象。
从 API 返回的数据形状如下:
Array [
Object {
"id": "/db/Shifts/123",
"applicants": Object {
"applicants": Array [
"/db/User/12",
"/db/User/13",
],
},
Object {
"id": "/db/Shifts/456",
"applicants": Object {
"applicants": Array [
"/db/User/12",
"/db/User/14",
],
},
Object {
"id": "/db/Shifts/789",
"applicants": Object {
"applicants": Array [
"/db/User/13",
"/db/User/14",
],
},
]
使用 Ramda,我将如何过滤掉用户 12 存在于申请人数组中的班次,申请人数组将位于申请人.applicants。
在这种情况下我无法展平数据,每个班次的申请人列表确实必须是包含在对象中的数组。
我试过了:
var hasApplied = pathEq(['applicants', 'applicants'], 'db/User/12');
console.log(filter(hasApplied, shifts));
但我认为这不太对,因为申请人.applicants 是一个数组,我认为我需要再提供一个函数才能进入申请人数组,但我不确定是什么。
【问题讨论】:
标签: ramda.js