$ .each index初始值

时间:2015-08-05 02:27:45

标签: javascript jquery

我们知道$ .each的索引将从零开始。我想打印索引从1到10,因为我有10个数组。

$.each(myArr, function(i){
console.log(i++);
}

为什么我从0开始?

4 个答案:

答案 0 :(得分:1)

试试这个。

$.each(myArr, function(i){
console.log(++i);
})

这是前缀和后缀运算符之间的区别。当前操作完成后,前缀运算符会增加该值。 Postfix运算符首先增加该值并执行当前语句。以上代码仅用于解释内容。

正如@Ghazgkull建议的那样,最好使用i + 1传达代码的缩进。

答案 1 :(得分:0)

++运算符AFTER变量在当前调用结束后增加该变量(在您的情况下,在控制台日志调用之后),这就是您从0开始看到它的原因。

由于它是一个索引,因此您无需手动增加其值,但简单的console.log(i+1);可以正常工作。

否则,你可以在当前调用之前通过将++放在变量之前来增加它,正如@Satya在评论中所说的那样。

在此处查看:



var myArr = [1,1,1,1,1,1,1,1,1,1];

$.each(myArr, function(i){
  console.log(i+1);
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

当++运算符应用于变量(i++)的右侧时,使用递增前的当前值。如果要在递增后获取值,则应使用++i

答案 3 :(得分:0)

$.each()为您增加值。您不需要自己增加它。你的代码应该是:

$.each(myArr, function(i) {
    console.log(i + 1);
}

即使++i在这种情况下有效,也不应在此处使用增量器。对于任何有经验的程序员来说,看起来你正试图以一种没有意义的方式增加一个值。使用i + 1可以清楚地表明您只是在计算一个值。