提问人:SOJSON用户
提问日期:2020-03-29 17:23
热度:30
就是代码中遇到,必须用$.each去循环数据,要不然就不正确。我尝试用 for循环去替代,但是结果有问题。
1条回答
我来回答
soゝso|
2020-03-29 17:26
jquery的each循环还真和原生的for循环有差别。有的时候您虽然看到的结果一样,但是运行起来效果就是有差异。
下面直接给原生JavaScript实现jquery的each循环代码:
each = function(arr, callback){
if(Array.isArray(arr)){
for(var i = 0, l = arr.length; i < l; i++){
if(callback.call(arr[i], i, arr[i++]) == false){
break;
}
}
} else {
for(var name in arr){
if(callback.call(arr[name], name, arr[name]) == false){
break;
}
}
}
}
使用就是直接和jquery一样即可。
each([1,2,3],function(i,n){ })