jquery数组遍历,终⽌循环js数组遍历,终⽌循环
jquery
1.⾸先,上jquery源码:
each: function( obj, callback ) {
var length, i = 0;
//判断是否为数组
if ( isArrayLike( obj ) ) {
length = obj.length;
for ( ; i < length; i++ ) {
//为数组中的每⼀项执⾏函数,如果函数返回false,则终⽌循环;返回true则继续下⼀个循环
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
} else {
for ( i in obj ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
}
return obj;
},
通过源码的分析,就很容易理解了,jquery中的each()跳出当前循环,继续执⾏下⼀个循环为return true;跳出整个的for循环为:return false;
实例:
function getValue() {
var value="";
$('input[name="Fruit"]').each(function(index, element) {
if($(element).parent().hasClass("radioOn")) {
value= $(element).val();
//终⽌循环终⽌本次循环为:return true
return false;
}
});
//该⽅法的返回
return value;
}
javaScript:
对于js主要写数组的⼏个遍历⽅法:every(),filter(),forEach(),map(),some()
1.every():对数组中的每⼀项运⾏给定函数,如果该函数针对每⼀项都返回true,则返回true;其可以通过控制函数返回true或者false来控制循环是否继续
实例:
function indexOf(arr, item) {
if(Array.isArray(arr)) {
var indexValue = -1;
arr.every(function(element, index, arr) {
if(element == item) {
indexValue = index;
//跳出循环
return false;
}
//为了保证循环正常的运⾏
return true;
});
return indexValue;
}
jquery源码在线
}
2.filter():对数组中的每⼀项运⾏给定的函数,返回函数返回值为true的项组成的数组;即,最后的返回值为⼀个新的数组;该⽅法会将整个数组全部遍历完,不能够通过控制返回true或者false来中断循环.(该⽅法可⽤于筛选数组中的元素)
3.forEach():对数组中的每⼀项运⾏给定函数,这个⽅法没有返回值.(该⽅法可⽤于对数组中的元素进⾏逻辑处理,⽆返回值)
4.map():对数组中的每⼀项运⾏给定的函数,返回函数运⾏后的所有结果组成的数组;(适⽤于对数组中的元素进⾏逻辑处理,并且返回处理结果)
5.some():对数组中的每⼀项运⾏给定的函数.如果该函数对任⼀项返回true,则返回true.可通过控制返回true或者false来决定是否中断循环;
实例:
function indexOf(arr, item) {
if(Array.isArray(arr)) {
var indexValue = -1;
arr.some(function(element, index, arr) {
if(element == item) {
indexValue = index;
return true;
}
});
return indexValue;
}
}
注意:break以及continue 是跳出for或者while循环
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论