之前的文章梳理了js陣列與物件屬性的遍歷方法,本文介紹專門用以遍歷並處理資料的map()方法。
一、原生map()
map()是陣列的乙個方法,它建立乙個新陣列,其結果是該陣列中的每個元素都呼叫乙個提供的函式後返回的結果。map()裡面的處理函式接受三個引數,分別指代當前元素、當前元素的索引、陣列本身。(ie9以下不支援,對老舊瀏覽器的相容性方法參考這裡)
/**** 原生map() ****/var arrtmp = [1,2,3];
var arrdouble = arrtmp.map(function(num))
// arrdouble -> [2,4,6]
//注意,使用map()時實際傳遞了3個引數:
arr.map(function(currentvalue, index, array))
["1", "2", "3.5"].map(parseint); // 結果不是[1, 2, 3],而是[1, nan, nan]
["1", "2", "3.5"].map(function(num)); //得到正確結果[1, 2, 3]
//使用map()重組陣列
var kvarray = [, , ];
var reformattedarray = kvarray.map(function(obj) ; robj[obj.key] = obj.value; return robj; });
// kvarray不變,reformattedarray -> [, , ],
二、jquery的$.map()
$.map() 函式用於使用指定函式處理陣列中的每個元素(或物件的每個屬性),並將處理結果封裝為新的陣列返回。從 1.6 開始,該函式也支援遍歷物件。它接受兩個引數,分別是要處理的陣列/物件和處理函式,其處理函式也接受鍵值和鍵名兩個引數:
/**** jquery $.map() ****/// 篩選陣列元素
var arrtmp = [1,2,3,4,5];
var bignum = $.map(arrtmp,function(num)
});// bignum -> [3,4,5]
// 處理物件
var person = ,
tom:,
bobo:
}var oldman = $.map(person,function(value,key)
})// oldman -> ["bobo"]
處理 JSON null 和空陣列及物件
描述了對 json 資料中使用的 null 和空陣列及物件的處理。json 資料具有 null 和空陣列及物件的概念。此部分說明其中每個概念如何對映到 null 和未設定的資料物件概念。json 具有特殊值 null,可以對任何資料型別設定該值,包括陣列 物件 數字和布林型別。34 當序列化為 js...
處理巢狀未知層級的物件陣列資料
不知道你們有沒有在專案中遇到特別複雜的資料,最近的專案就遇到過,其實說實話並不是資料有多複雜,主要是太多,因為很多資料的處理無非就是過濾,去重等等這幾種方式資料 const q 當讓原先的資料肯定不是這個的,這些資料只是我在網上隨便搜了個類似的,真實的資料比這複雜的很多,而且我拿到這個資料是要渲染成...
陣列和物件
陣列和物件 var arr 1,2,3,4,5 var obj 將物件轉換為json字串 var str json.stringify obj 將json字串逆轉回物件 var obj1 json.parse str obj.a 20 console.log obj1 var str1 json.s...