JSON在线解析

提问人:SOJSON用户 提问日期:2020-03-29 17:23 热度:30
问题标签 JavaScript Jquery

就是代码中遇到,必须用$.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){    })