考虑到以下代码:
const objs = [
{
name: '1st',
completed: false,
},
{
name: '2nd',
completed: true,
},
{
name: '3rd',
completed: true,
},
]
const transducer = R.pipe(
R.filter(R.propEq('completed', true)),
R.map((obj) => {
return {
label: `${obj.name} (${obj.completed.toString()})`,
}
}),
)
const intoArray = R.into([])
console.log('-- working --')
console.log(transducer(objs))
console.log('-- not working --')
console.log(intoArray(transducer, objs))在使用R.pipe表单时,我得到了预期的结果(数组中的两个对象都带有名称的label字段和插入到一起的已完成字段)
然而,用换能器的形式,我得到了一个空的阵列。如果我移除R.filter或R.map (因此只有一个操作在管道中),我就会得到管道中只有该项的预期结果。然而,我似乎不能将这两种操作结合起来。
,我在这里错过了什么?
有此代码的代码笔可用:http://codepen.io/rodeoclash/pen/EWJmMZ?editors=1112
发布于 2017-04-28 02:31:10
https://stackoverflow.com/questions/43653794
复制相似问题