概述
将一组元素转换成其他数组(不论是否是元素数组)
你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立。
参数
callback,给每个元素执行的函数
把form中的每个input元素的值建立一个列表。
Values:
$("p").append( $("input").map(function(){
return $(this).val();
}).get().join(", ") );
结果
[ John, password, http://ejohn.org/
]
由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组。
.map() 方法对于获得或设置元素集的值特别有用。
2
4
6
8
能够获得复选框 ID 组成的逗号分隔的列表
$(':checkbox').map(function() {
return this.id;
}).get().join(',');
字符串:"two,four,six,eight"
map也可以遍历数组, 用法与 forEach 相似,实际效率还比不上foreach:
arr.map(function(value,index,array){
//code
})
jquery的map()源码
(function (global, factory) {
if (typeof module === "object" && typeof module.exports === "object") {
module.exports = global.document ?
factory(global, true) :
function (w) {
if (!w.document) {
throw new Error("jQuery requires a window with a document");
}
return factory(w);
};
} else {
factory(global);
}
// Pass this if window is not defined yet
}(typeof window !== "undefined" ? window : this, function (window, noGlobal) {
var version = "1.11.3",
jQuery = function (selector, context) {
return new jQuery.fn.init(selector, context);
},
// Support: Android
关注
打赏