使用Ramda和无点样式,我如何将数组的第一项复制到它的末尾
Using Ramda, and pointfree style, how can I copy the first item of an array to the end of it?
我想取一个数组[1, 2, 3]
并返回[1, 2, 3, 1]
。
我正在使用Ramda,我可以像这样得到想要的结果:
const fn = arr => R.append(R.prop(0, arr), arr);
但我想做点自由。这是我得到的最接近的:
const fn = R.compose(R.append, R.prop(0));
fn(arr)(arr)
但是那看起来很傻。我错过了什么?谢谢!
converge
对于这样的事情非常有用。
const rotate = R.converge(R.append, [R.head, R.identity])
rotate([1, 2, 3]); //=> [1, 2, 3, 1]
S组合子在这里很有用:
S.S(S.C(R.append), R.head, [1, 2, 3]);
// => [1, 2, 3, 1]
相关文章:
- 如何从对象数组中获取最后一项
- 为什么只有最后一项显示,而不是全部显示
- 删除最后一项jquery
- $q.all当输入数组中的一项不是promise时,Typescript检查器失败
- 为什么我的“for”循环只获取 html 中的最后一项
- 我无法将下拉列表的默认值设置为最后一项
- 流星批量插入仅插入最后一项
- 我怎么能知道元素是最后一项
- 如何删除WinJS组绑定列表的最后一项
- 在immutable.js中更改列表中的一项
- 使用handlers.js模板以数组中的最后一项为条件
- empty().append()追加循环中的最后一项
- jQuery只附加最后一项
- 将属性添加到 for 循环中的最后一项
- 我的应用仅显示一项检索到的数据
- 如何在 visjs 时间轴中按时间顺序获取 getVisibleItems(或如何获取上一项)
- 滑动视图 - 显示下一项的预览/片段
- 检查单词是否具有相同的字母 - 错过一项测试
- 如何按排序键顺序获取对象中的最后一项
- 将innerHTML从列表中的一项复制到元素的内容中