jquery.map
jQuery.map 方法
jQuery.map 是一个用于遍历数组或对象并将其元素或属性转换为新数组的方法。它类似于原生 JavaScript 的 Array.map(),但提供了更灵活的用法。
语法
jQuery.map(array, callback)
jQuery.map(object, callback)
array或object:需要遍历的目标。callback:处理每个元素的函数,返回转换后的值。
回调函数参数
回调函数接受两个参数:

function callback(element, index) {
// element: 当前元素或属性值
// index: 当前元素的索引或属性名
return transformedValue;
}
使用示例
遍历数组并转换元素

var numbers = [1, 2, 3, 4];
var squared = jQuery.map(numbers, function(num) {
return num * num;
});
// 结果: [1, 4, 9, 16]
遍历对象并转换属性值
var person = { name: "John", age: 30 };
var values = jQuery.map(person, function(value, key) {
return key + ": " + value;
});
// 结果: ["name: John", "age: 30"]
过滤元素
通过返回 null 或 undefined 可以过滤掉不需要的元素:
var numbers = [1, 2, 3, 4];
var evenNumbers = jQuery.map(numbers, function(num) {
return num % 2 === 0 ? num : null;
});
// 结果: [2, 4]
与原生 Array.map 的区别
- jQuery.map 可以处理类数组对象(如
arguments或 DOM 集合)。 - jQuery.map 可以通过返回
null或undefined过滤元素,而原生Array.map会保留这些值。 - jQuery.map 可以遍历普通对象,而原生
Array.map仅适用于数组。
性能注意事项
对于纯数组操作,原生 Array.map 通常性能更好。jQuery.map 更适合需要兼容旧浏览器或处理混合数据类型的场景。






