js map 處理陣列和物件資料

2022-07-26 20:09:11 字數 1244 閱讀 5429

之前的文章梳理了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...