我得到的计数是从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);
答案 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);