您的位置:首页 > Web前端 > JQuery

jquery的each循环问题

2016-06-12 19:43 295 查看
写函数的之后,中间要写一个函数,大概实现的功能是在数组匹配元素,如果找到返回1,没找到返回-1:

<prename="code"class="javascript">functioninArraySearch(para,ids){
<spanstyle="font-family:Arial,Helvetica,sans-serif;">varflagself=para.attr("typeAttr");</span><prename="code"class="javascript">//console.log(flagself);
varret=-1;
varid=para.children('td').eq(0).text();<precode_snippet_id="1714667"snippet_file_name="blog_20160612_3_7609991"name="code"class="javascript">$.each(<spanstyle="font-family:Arial,Helvetica,sans-serif;">ids</span>,function(index,value){
if(value.wordid==id&&flagself==value.flag){
return1;
}
return-1;
}



}



结果发现实现不了,老是报-1,永远没有找到返回为1的,后来百度了才知道,因为在jquery的each里面,是没有continue和break的,returntrue代表continue,而returnfalse代表break,所以这么写的话相当于即使找到了也是做continue,不会做return。所以最后还是用的普通的for循环来做的。看来jquery还是不能乱用啊!

functioninArraySearch(para,ids){
varflagself=para.attr("typeAttr");
//console.log(flagself);
varret=-1;
varid=para.children('td').eq(0).text();
for(vari=0;i<ids.length;i++){
if(ids[i].wordid==id&&flagself==ids[i].flag)
return1;
}

//alert("notfound")
return-1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: