jQuery源码分析12: jQuery.query
使用过滤函数过滤数组元素。
grep: function( elems, callback, inv ) {
var ret = [], retVal;
inv = !!inv;
//< 遍历数组elems,将callback(elem[i],i)为inv的元素保存到数组ret并返回
for ( var i = 0, length = elems.length; i < length; i++ ) {
retVal = !!callback( elems[ i ], i );
if ( inv !== retVal ) {
ret.push( elems[ i ] );
}
}
return ret;
},
使用过滤函数过滤数组元素。
grep: function( elems, callback, inv ) {
var ret = [], retVal;
inv = !!inv;
//< 遍历数组elems,将callback(elem[i],i)为inv的元素保存到数组ret并返回
for ( var i = 0, length = elems.length; i < length; i++ ) {
retVal = !!callback( elems[ i ], i );
if ( inv !== retVal ) {
ret.push( elems[ i ] );
}
}
return ret;
},
本文详细解析了jQuery源码中的grep函数实现原理及应用。该函数通过一个回调函数来过滤数组元素,并根据回调函数的返回值决定是否保留数组中的元素。
2195

被折叠的 条评论
为什么被折叠?



