传递函数多个整数并迭代它们

时间:2013-09-19 03:52:45

标签: javascript jquery

我得到的计数是从api中获取的,为简单起见,我只是硬编码整数来表示我的问题。

我需要遍历变量 fbCount tweetCount pinCount ,并在超过1k时执行某些操作。

我是一个红宝石的家伙,很确定我做的很傻。我得到的错误是: 未捕获类型错误对象18000没有方法'each'

var fbCount        = 18000,
    tweetCount     = 0,
    pinCount       = 0;

function somethingByCount(count) {
    count.each(function() { 
         alert("firing each count")
    });
  }

somethingByCount(fbCount,tweetCount,pinCOunt);

3 个答案:

答案 0 :(得分:2)

使用arguments获取参数列表

使用$.each()进行迭代 - 跨浏览器

function somethingByCount() {
    $.each(arguments, function(idx, val) { 
        alert("firing each count:" + val)
    });
}

演示:Fiddle

使用原生Array.forEach()进行迭代 - 仅适用于现代浏览器

function somethingByCount() {
    Array.prototype.forEach.call(arguments, function(val, idx){
        console.log("firing each count:", val)
    })
}

演示:Fiddle

答案 1 :(得分:1)

该函数要求参数为数组,因此必须将它们用括号括起来:

somethingByCount([fbCount, tweetCount, pingCount]);

或者您可以更改函数以使用arguments变量,该变量包含所有参数的数组:

function somethingByCount() {
    arguments.each(function() {
        alert("firing each count");
    });
}

答案 2 :(得分:0)

你可以使用数组

    var fbCount        = 18000,
    tweetCount     = 0,
    pinCount       = 0;

    var data=new Array(fbCount,tweetCount,pinCount);

function somethingByCount(count) {
    $(count).each(function() { 
         alert("firing each count")
    });
  }

somethingByCount(data);