ImmutableJS:推送后返回未更改的列表

时间:2017-05-29 20:45:30

标签: javascript immutable.js

使用ImmutableJS有一种方法可以推动"空"将值放到List上,返回相同的未更改列表?例如,如果我有一个列表xs和一个选项a,我想做类似的事情:

xs.push(a.getOrElse(null)) // doesn't work as intended

相当于:

xs.concat(a.map(a => [a]).getOrElse([])) // works as intended

我想使用更清晰的语法和O(1)推送效率。

1 个答案:

答案 0 :(得分:0)

ImmutableJS中的push方法接受零个或多个参数,因此您应该能够在空数组上使用spread运算符来获取您正在寻找的功能。

xs.push(...a.getOrElse([]))

需要注意的是,无论你从getOrElse获得什么结果都需要采用数组格式。