0

取得したカウントは API からフェッチされます。簡単にするために、問題を表す整数をハードコーディングしました。

変数fbCounttweetCount、および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);
4

3 に答える 3

2

引数を使用して引数のリストを取得します

$.each()を使用して反復する - クロスブラウザ

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

デモ:フィドル

ネイティブArray.forEach()を使用して反復する - 最新のブラウザーのみ

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

デモ:フィドル

于 2013-09-19T03:55:42.160 に答える
1

関数は引数が配列であることを想定しているため、それらを括弧で囲む必要があります。

somethingByCount([fbCount, tweetCount, pingCount]);

または、関数を変更してarguments、すべてのパラメーターの配列を含む変数を使用することもできます。

function somethingByCount() {
    arguments.each(function() {
        alert("firing each count");
    });
}
于 2013-09-19T03:55:28.750 に答える
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);
于 2013-09-19T03:58:05.560 に答える