javascript - JS中如何添加两个变量?

标签 javascript jquery

我有以下循环,它迭代数组,并尝试访问数组中当前位置的下一个位置。

for( var i in myArray){
   var temp = myArray[i+1];
}

问题是它没有将 1 与 var i 相加,而只是将数字 1 附加到 i 上。 就像我是 2 并且我这样做

i+1

结果是

21

而不是 3。

为什么会这样以及如何添加这两个变量?

最佳答案

基本上,您正在迭代对象的键(数组是对象),键是 always strings (or symbol type in ES6) 。要转换为数字,您只需在其前面添加一元 plus 即可将字符串数字转换为数字。

var temp = myArray[+i + 1];

您可能会更好地使用带有计数器的经典迭代,例如

var i, temp;
for (i = 0; i < array.length; i++) {
    temp = array[i + 1];
    // some more code
}

因为 for ... in 会迭代对象的所有可枚举属性(如果存在)。欲了解更多信息,请阅读Why is using “for…in” with array iteration a bad idea?

关于javascript - JS中如何添加两个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45606940/

相关文章:

javascript - javascript中的窗口卸载方法

javascript - 在 ie8 中添加选项时动态选择卡住

javascript - 输入值始终等于 0

javascript - jQuery Ajax 调用后,应用程序无法导航到我想要显示的 ASP.NET MVC View

asp.net - Page_ClientValidate 正在验证多次。

php - 使用AJAX向PHP提交数据问题

jquery.visible 不工作

javascript - Colorbox.js 内联内容不会显示

javascript - 是否可以让浏览器仅在输入密码时退出全屏模式?

javascript - XMLHttpRequest-Laravel