Javascript for循环在比较部分赋值
Javascript for loop with asignment in comparison section
这是快捷方式吗
var cars = [ "ford", "toyota"];
for (var i = 0, car; i < cars.length, car = cars[i]; i++) {
console.log(car);
}
var cars = [ "ford", "toyota"];
var car;
for (var i = 0; i < cars.length; i++) {
car = cars[i];
console.log(car);
}
好还是坏?
我已经使用较长的代码表示法有一段时间了,因为处理的数组名称并不总是那么短(cars),但现在我试图最小化它并找到了解决方案。
这不是一个好的做法。
如果您不想使用index
访问,请尝试使用forEach
var cars = [ "ford", "toyota"];
cars.forEach(function(car,index){
console.log(car);
})
如果想使用break,则使用some或every
试试这样
var cars = [ "ford", "toyota"];
cars.some(function(car,index){
console.log(car);
return true; // break on return true
})
每一个<<p> /strong> var cars = [ "ford", "toyota"];
cars.every(function(car,index){
console.log(car);
return false; // break on return false
})
JSFIDDLE
您已经获得了使用.forEach()
的解决方案,这里是while循环的解决方案:
var cars = ["ford", "toyota"];
var car, i = 0;
while (car = cars[i++])
console.log(car);
我更喜欢这个:
cars.forEach(function(car, i) {
...
});
因为您已经获得了参数car
和i
的完全封闭作用域。
相关文章:
- Javascript变量赋值|
- 无法为打字稿字典赋值
- Javascript-根据赋值顺序,按键合并对象数组
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何通过json对象数组为嵌套对象赋值
- 赋值后的回调函数
- ||(OR)运算符如何在赋值中工作
- 可以使用属性赋值实现多个函数
- 将ECMAScript 6析构函数赋值(ES2015)重构为旧版本的javascript
- 如何在javascript中为全局变量赋值
- Javascript:JSHint:应为赋值或函数调用,但实际看到的却是表达式
- JavaScript:在嵌套循环中为数组赋值
- 未设置变量的赋值| jQuery的作用是什么
- Javascript赋值运算符的奇怪行为
- JavaScript 中同一行上的多个比较/赋值运算符
- 使用||进行比较(==)而不是赋值(=)时的简写
- JavaScript 赋值与条件检查中的代码效率和速度比较
- 在Javascript中进行比较时如何避免赋值
- Javascript for循环在比较部分赋值
- 使用比较赋值时是否需要括号