1. 程式人生 > 其它 >jquery遍歷方法each和map的區別

jquery遍歷方法each和map的區別

var arr = [1, 3, 5, 7, 9]
var obj = { 0: 1,1: 3,2: 5,3: 7,4: 9,length: 5}


    $.map(arr, function(value, index) {
        console.log(value, index);
    })
    $.map(obj, function(value, index) {
        console.log(value, index);
        })
        // 和jquery中的each一樣,map方法可以遍歷偽陣列
    var res1 = $.map(obj, function(value, index) {
        console.log(value, index);
        return value + index    //[1, 4, 7, 10, 13]
 //map靜態方法可以在回撥函式中通過return對遍歷的陣列進行處理,然後生成一個新的陣列返回
    })
    var res2 = $.each(obj, function(value, index) {
        console.log(value, index);
        return value + index   //{0: 1, 1: 3, 2: 5, 3: 7, 4: 9, length: 5}
// each靜態方法不支援在回撥函式中對遍歷的陣列進行處理
    })
    console.log(res1);
    console.log(res2);
    /*jQuery中的each靜態方法和map靜態方法的區別:
      each靜態方法預設的返回值就是,遍歷誰就返回誰
      map靜態方法預設的返回值是一個空陣列 */