~ 之前對於forEach方法了解的不多,在使用時,突然發現return true fasle break沒有反應,仔細一看,還是大有文章,遂記……
當想跳出循環可以使用every 和 some方法,下面是簡單的總結
every 當內部return false時跳出整個循環(return true;也是需要寫)
//every()當內部return false時跳出整個循環 let list = [1, 2, 3, 4, 5]; list.every((value, index) => { if(value > 3){ console.log(value)// 4 return false; }else{ console.log(value)// 1 2 3 return true; } }); list.every((value, index) => { if(value > 3){ console.log(value) return false; }else{ console.log(value)// 1 // return true; // 如果沒有返回值true 的話,也會跳出循環 } });
forEach沒有返回值,只針對每個元素調用func。
// forEach沒有返回值,只針對每個元素調用func。 let list2 = [1, 2, 3, 4, 5]; list2.forEach((value, index) => { if(value > 3){ console.log(value)// 4 5 return false;//沒有返回值,ruturn false 仍向下執行 }else{ console.log(value)// 1 2 3 return true; } });
some 當內部return true時跳出整個循環
let list3 = [1, 2, 3, 4, 5]; list3.some((value, index) => { if(value === 3){ return true;//當內部return true時跳出整個循環 } console.log(value)// 1 2 });
map 有返回值,返回一個新的數組,每個元素為調用func的結果。
let list5 = [1, 2, 3, 4, 5]; let arr = []; arr = list5.map((value, index) => { return value * 2; }); console.log(arr);//[2, 4, 6, 8, 10]
jQuery有each循環,這個是異步的
$(selector).each(function(index,element){});
var arr = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']] $.each(arr, function(i, item){ $.each(item,function(j,val){ alert(j); alert(val); }); });
var obj = { one:1, two:2, three:3}; each(obj, function(key, val) { alert(key); alert(val); });
<input name="aaa" type="hidden" value="111" /> <input name="bbb" type="hidden" value="222" /> <input name="ccc" type="hidden" value="333" /> <input name="ddd" type="hidden" value="444"/> 然后你使用each如下 $.each($("input:hidden"), function(i,val){ alert(val); alert(i); alert(val.name); alert(val.value); });
~ 之前對於forEach方法了解的不多,在使用時,突然發現return true fasle break沒有反應,仔細一看,還是大有文章,遂記……
當想跳出循環可以使用every 和 some方法,下面是簡單的總結
every 當內部return false時跳出整個循環(return true;也是需要寫)//every()當內部return false時跳出整個循環let list = [1, 2, 3, 4, 5];list.every((value, index) => { if(value > 3){ console.log(value)// 4 return false;
}else{ console.log(value)// 1 2 3 return true; }
});list.every((value, index) => { if(value > 3){ console.log(value) return false;
}else{ console.log(value)// 1 // return true; // 如果沒有返回值true 的話,也會跳出循環 }
}); 12345678910111213141516171819202122232425forEach沒有返回值,只針對每個元素調用func。// forEach沒有返回值,只針對每個元素調用func。 let list2 = [1, 2, 3, 4, 5]; list2.forEach((value, index) => { if(value > 3){ console.log(value)// 4 5 return false;//沒有返回值,ruturn false 仍向下執行
}else{ console.log(value)// 1 2 3 return true; } });12345678910111213some 當內部return true時跳出整個循環 let list3 = [1, 2, 3, 4, 5]; list3.some((value, index) => { if(value === 3){ return true;//當內部return true時跳出整個循環 } console.log(value)// 1 2 });1234567map 有返回值,返回一個新的數組,每個元素為調用func的結果。 let list5 = [1, 2, 3, 4, 5]; let arr = []; arr = list5.map((value, index) => { return value * 2; }); console.log(arr);//[2, 4, 6, 8, 10]--------------------- 作者:Shuah153 來源:CSDN 原文:https://blog.csdn.net/weixin_36934930/article/details/81061063 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
