jQuery.map()
此方法將一個陣列中的所有元素轉換到另一個陣列中。
語法結構一:
[JavaScript] 純文字檢視 複製程式碼jQuery.map(array, callback(elementOfArray, indexInArray))
引數解析:
(1).array:待轉換陣列。
(2).callback(elementOfArray, indexInArray):處理每一個元素的函式,每次執行的返回值是另一個陣列的新元素。elementOfArray:可選,陣列元素,indexInArray:可選,當前陣列元素的索引。
jQuery1.0版本新增。
語法結構二:
[JavaScript] 純文字檢視 複製程式碼jQuery.map(arrayOrObject, callback(value, indexOrKey))
引數解析:
(1).arrayOrObject:陣列或者物件,在jQuery1.6之前,jQuery.map()只支援遍歷陣列和類陣列物件,之後也可以遍歷普通鍵值對物件。
(2).callback:處理每一個元素的函式,每次執行的返回值是另一個陣列的新元素。value:可選,陣列中元素或物件的值,indexOrKey:可選,該元素在陣列中的索引值或該物件的鍵。函式中的this指向window物件。
jQuery1.6版本新增。
callback返回值總結:
(1).轉換後的值,該值會被對映到最終的結果陣列中。
(2).null或者undefined, 用於移除該元素。
(3).陣列,會將該陣列中的元素新增到最終的結果陣列中。
程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script src="https://code.jquery.com/jquery-3.1.1.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#bt").click(function () { var arr=$.map([0, 4, 8], function (ele, index) { return ele * index; }) $("#result").text(arr); }) }) </script> </head> <body> <input type="button" id="bt" value="檢視演示"/> <div id="result"></div> </body> </html>
通過此方法遍歷陣列中的每一個元素生成一個新的陣列,陣列的值是原陣列值乘以對應的索引值。
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script src="https://code.jquery.com/jquery-3.1.1.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#bt").click(function () { var arr=$.map($("li"), function (ele, index) { return $(ele).text(); }) $("#result").text(arr); }) }) </script> </head> <body> <ul> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> <li>螞蟻部落四</li> </ul> <input type="button" id="bt" value="檢視演示"/> <div id="result"></div> </body> </html>
上面程式碼處理的是一個類陣列,獲取每一個li元素的文字然後存入陣列。
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script src="https://code.jquery.com/jquery-3.1.1.js"></script> <script type="text/javascript"> $(document).ready(function () { var obj = { age: 4, address: "青島市南區", site:"www.softwhy.com" } $("#bt").click(function () { var arr = $.map(obj, function (ele) { return ele; }) $("#result").text(arr); }) }) </script> </head> <body> <ul> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> <li>螞蟻部落四</li> </ul> <input type="button" id="bt" value="檢視演示"/> <div id="result"></div> </body> </html>
上面程式碼處理的是一個物件,然後將物件的屬性值存入陣列。