jQuery Map(映射)方法可以將數(shù)組和對象轉(zhuǎn)換為新的數(shù)組。在JavaScript中,Map方法常常用于將數(shù)據(jù)進(jìn)行過濾、排序等操作。在 jQuery中,Map()方法用于遍歷一個數(shù)組或?qū)ο螅{(diào)用函數(shù)并將返回值存儲在一個新數(shù)組中。
//下面是一個簡單的數(shù)組Map實例,我們有一個數(shù)字?jǐn)?shù)組,想將每個數(shù)字增加1: var arr = [1, 2, 3, 4]; var newArr = $.map(arr, function(val, i) { return val + 1; }); console.log(newArr); // 輸出結(jié)果為[2, 3, 4, 5]
上面的代碼中,$.map()方法第一個參數(shù)為要操作的數(shù)組,第二個參數(shù)是一個函數(shù),該函數(shù)接收兩個參數(shù):元素的值和元素的下標(biāo)。在上面的例子中,我們將每個元素的值加1,并將結(jié)果存儲在新數(shù)組中返回。
下面是一個對象Map的例子:
//原始對象 var obj = { name: "Tom", age: 30, gender: "male" }; //使用Map方法遍歷對象并返回新對象 var newObj = $.map(obj, function(val, key) { return {[key + "_new"]: val}; }); console.log(newObj); // 輸出結(jié)果為[{name_new: "Tom"}, {age_new: 30}, {gender_new: "male"}]
以上代碼中,$.map()方法第一個參數(shù)為要操作的對象,第二個參數(shù)是一個回調(diào)函數(shù),該函數(shù)的參數(shù)是對象的值和對象的key。在這個例子中,我們遍歷對象并返回一個新的對象,其中包含原始對象鍵值的副本,但是鍵名已添加了"_new"。