我们知道$ .each的索引将从零开始。我想打印索引从1到10,因为我有10个数组。
$.each(myArr, function(i){
console.log(i++);
}
为什么我从0开始?
答案 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;
答案 2 :(得分:0)
当++运算符应用于变量(i++
)的右侧时,使用递增前的当前值。如果要在递增后获取值,则应使用++i
。
答案 3 :(得分:0)
$.each()
为您增加值。您不需要自己增加它。你的代码应该是:
$.each(myArr, function(i) {
console.log(i + 1);
}
即使++i
在这种情况下有效,也不应在此处使用增量器。对于任何有经验的程序员来说,看起来你正试图以一种没有意义的方式增加一个值。使用i + 1
可以清楚地表明您只是在计算一个值。