首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拉姆达步进范围

拉姆达步进范围
EN

Stack Overflow用户
提问于 2019-04-02 04:56:12
回答 2查看 1.3K关注 0票数 0

兰达中执行以下操作的最佳方法是什么

代码语言:javascript
复制
_.range(0, 3, 0);
// => [0, 0, 0]

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-02 04:59:55

可以使用R.repeat创建单个项的多个实例的数组:

代码语言:javascript
复制
const result = R.repeat(0, 3)

console.log(result)
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script>

票数 0
EN

Stack Overflow用户

发布于 2019-04-02 08:45:09

如果您需要重复相同的数字n次,那么Ori已经在repeat中提供了一个很好的答案。

但是,如果您需要支持步骤,您必须自己构建一个函数。(Ramda有一个range函数,但它不支持步骤。)

所以洛达什会回来的地方:

代码语言:javascript
复制
_.range(1, 10, 2);
//=> [1, 3, 5, 7, 9]

您可以使用Ramda unfold函数实现类似的功能:

代码语言:javascript
复制
const rangeStep = curry((start, end, step) =>
  unfold(n => n < end ? [n, n + step] : false, start));

rangeStep(1, 10, 2);
//=> [1, 3, 5, 7, 9]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55467201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档