我想要的结果是 如果是2 就跳出循环
但是下面的结果是 1 3 4
没有调出循环
请问有办法跳出each这个循环吗??
var a=[{i:1},{i:2},{i:3},{i:4}]
Array.prototype.each= function(fn, bind){
for (var i = 0, l = this.length; i < l; i++) fn.call(bind, this[i], i, this);
}
a.each(function(item){
if(item.i==2)return;
console.log(item.i)
})
但是下面的结果是 1 3 4
没有调出循环
请问有办法跳出each这个循环吗??
var a=[{i:1},{i:2},{i:3},{i:4}]
Array.prototype.each= function(fn, bind){
for (var i = 0, l = this.length; i < l; i++) fn.call(bind, this[i], i, this);
}
a.each(function(item){
if(item.i==2)return;
console.log(item.i)
})
解决方案 »
- input button select是块状元素行内元素还是inline-block元素啊?
- 如何判断超链接的文字的颜色?
- 被一种异步多文件上传困住了 求高人指点啊!!
- 我怎么知道我创建出来的Html代码是什么?
- 请教下js如何跨域?
- 请各位高手帮帮忙,在javascript怎样获得Table的单元格td里面的值
- 如何做一个像msn messager登陆时,如果检测到有邮件就从最右下角升起一个窗口...?
- 如何使打开的窗口,宽为屏幕的一半宽。高不变呢?谢谢啦。圣诞快乐
- 使用window.open()弹出新窗口,使用IE时只会在新标签页打开。
- 用JS怎么实现网页滑轮的效果啊?!
- 求正则表达式(去掉json串中的属性名)__在线等,只要测通分全给
- ********简单正则问题
我现在没时间 谁去研究一下?
for (var i = 0, l = this.length; i < l; i++){
if(false===fn.call(bind, this[i], i, this)) return;
}
}然后
if(item.i==2)return false;
试试
var a=[{i:1},{i:2},{i:3},{i:4}]
Array.prototype.each= function(fn, bind){
for (var i = 0, l = this.length; i < l; i++)
if(!fn.call(bind, this[i], i, this)){
return false;
} }
a.each(function(item){
if(item.i==2)return false; console.log(item.i)
})