Javascript - 这行是做什么的?

dig*_*uru 8 javascript loops

以下javascript做什么?

var groups = countrylist.split(',');    
for( var i = -1, group;  group = groupsCounty[++i]; ){
  ...
}
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 11

With i starting at -1
increase i by 1
get the ith element from the groupsCounty array
if there is no such element: stop
otherwise: assign it to group and carry on (with whatever "…" is)
Run Code Online (Sandbox Code Playgroud)

它是以下的优化版本:

for (var i = 0; i < groupsCounty.length; i++; ){
    var group = groupsCounty[i];
    …
}
Run Code Online (Sandbox Code Playgroud)

  • @digiguru我不喜欢这种方法,因为你依靠类型强制来为每次迭代提供"等效"的真或假.意思是,如果groupsCounty数组中的值为0或"",则返回false.对我来说,只是看一眼并看看它在做什么也不是那么清楚.安全吗?好吧,它总会做它应该做的事情,也许不是你期望它做的事情. (5认同)