JS while 循环数组[i++]。它是如何工作的?
Posted
技术标签:
【中文标题】JS while 循环数组[i++]。它是如何工作的?【英文标题】:JS while loop array[i++]. How does it work? 【发布时间】:2016-04-20 05:56:20 【问题描述】:我想知道它是如何工作的。我猜“right[r++]”在while循环中增加了“r”。或者它显示了我们将哪个“正确”元素推向“结果”?
function merge(left, right)
var result = [],
lLen = left.length,
rLen = right.length,
l = 0,
r = 0;
while(l < lLen && r < rLen)
if(left[l] < right[r])
result.push(left[l++]);
else
result.push(right[r++]);
return result.concat(left.slice(l)).concat(right.slice(r));
谢谢。
【问题讨论】:
问题是,什么不起作用,你的问题是什么? 【参考方案1】:result.push(right[r++]);
本质上是
的简写result.push(right[r]);
r = r + 1;
变量后面的 ++ 运算符返回变量在递增之前的值。
为了比较,在变量之前使用它
result.push(right[++r]);
会达到与
相同的结果r = r + 1;
result.push(right[r]);
【讨论】:
++r 将在返回前递增 ;)【参考方案2】:right[r++] 和这样写是一样的:
right[r]
r=r+1
这称为后增量。也有预增。应该是这样写的:
right[++r]
相当于
r=r+1
right[r]
【讨论】:
以上是关于JS while 循环数组[i++]。它是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章
如何将在JavaScript中保存为数组的数字与while循环相加