我正在使用Immutable.JS并尝试过滤嵌套在父集合中的列表,而不使用变量。
这是汽车收藏的一个例子:
{
{ 1 => {
id:'1',
licencePlateNumber: 'BT 226 FQ',
passengers: ['John', 'Marie', 'Edward'],
},
{ 2 => {
id:'2',
lice...
...
},
}
爱德华很不高兴,不想再和我们一起去周末,这里是我想要的新系列。
{
{ 1 => {
id:'1',
licencePlateNumber: 'BT 226 FQ',
passengers: ['John', 'Marie'],
},
{ 2 => {
id:'2',
lice...
...
},
}
为了做到这一点,我可以写:
const removePassenger = (carsCollection, carId, removedPassenger) => {
const passengers = carsCollection
.getIn([carId, 'passengers'])
.filter(pName => pName !== removedPassenger)
return (carsCollection.setIn([carId, 'passengers'], passengers))
}
作为一名功能程序员,我觉得非常难看。相反,我更喜欢使用像这样的函数'filterIn'。
const removePassenger = (carsCollection, carId, removedPassenger) => {
return (carsCollection
.filterIn([carId, 'passengers'], pName => pName !== removedPassenger)
}
这样的功能是否存在?在文档中没有发现任何事情。