Javascript中的循环功能 [英] Cycle function in Javascript

查看:82
本文介绍了Javascript中的循环功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Javascript的新手,我正在寻找一个循环功能。这是 Clojure的实现我试图找到一个循环函数,通过值无限循环/递归数组。我希望在下划线库中找到类似的东西,但我找不到合适的东西。理想情况下我想使用这样的东西:

  _.head(_。cycle([1,2,3]) ,100)

此函数将返回100个元素的数组:

  [1,2,3,1,2,3,1,2,3,1,2,3,...] 

我可以在Javascript中使用这样的函数吗?这是我的可行尝试,但我似乎无法让它工作:

  arr = [1,2,3, 4,5,6,7,8,9]; 

var cycle = function(arr){
arr.forEach(function(d,i){
if(d === arr.length)
return d
d == 0
else {return d}
});
};

cycle(arr);

你可以这样做:

  var cycle = function(array,count){
var output = [];

for(var i = 0; i< count; i ++){
output.push(array [i%array.length]);
}

返回输出;
}


I new to Javascript and I am looking for a cycle function. Here's Clojure's implementation I am trying to find a cycle function that infinitely loops/recurses through values of an array. I was hoping to find something like this in the underscore library, but I could not find anything suitable. Ideally I would like to use something like this:

 _.head(_.cycle([1,2,3]), 100)

This function would return an array of 100 elements:

[1,2,3,1,2,3,1,2,3,1,2,3,...]

Is there a function like this I can use in Javascript? Here's my feable attempt, but I can't seem to get it to work:

arr = [1,2,3,4,5,6,7,8,9];

var cycle = function(arr) {
  arr.forEach(function(d, i) {
    if (d === arr.length)
      return d
      d == 0
    else {return d}
  });
};

cycle(arr);

解决方案

You could do something like:

var cycle = function(array, count) {
    var output = [];

    for (var i = 0; i < count; i++) {
        output.push(array[i % array.length]);
    }

    return output;
}

这篇关于Javascript中的循环功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆