jQuery中的map()函數(shù)提供了一個快捷的方式來迭代數(shù)組或?qū)ο螅⒎祷匾粋€新的數(shù)組或?qū)ο螅@個新的數(shù)組或?qū)ο笫怯稍紨?shù)組或?qū)ο蠼?jīng)過處理后得到的。
// 示例數(shù)組 var numArray = [1, 2, 3, 4, 5]; // 使用map()函數(shù)處理示例數(shù)組 var doubledArray = $.map(numArray, function(num) { return num * 2; }); // 輸出結(jié)果 console.log(doubledArray); // [2, 4, 6, 8, 10]
上面的示例中,我們對原始的數(shù)組中的每個元素都進行了乘以2的操作,然后使用map()函數(shù)生成了一個新的數(shù)組。
map()函數(shù)的回調(diào)函數(shù)的參數(shù)有兩個,第一個是當(dāng)前元素的值,第二個是當(dāng)前元素的下標(biāo)。使用這兩個參數(shù)可以實現(xiàn)各種復(fù)雜的操作。
除了數(shù)組以外,map()函數(shù)還可以用來迭代對象。
// 示例對象 var person = { name: "John", age: 30, gender: "male" }; // 使用map()函數(shù)處理示例對象 var personArray = $.map(person, function(value, key) { return key + ": " + value; }); // 輸出結(jié)果 console.log(personArray); // ["name: John", "age: 30", "gender: male"]
上面的示例中,我們使用map()函數(shù)把一個對象轉(zhuǎn)換成了一個數(shù)組,其中每個元素的值都是鍵和值拼接而成的字符串。