jQuery中的map()方法是一个非常有用的函数,它可以用来映射数组中的元素,并返回一个新的数组。它可以让我们非常容易地对数组中的元素进行迭代,并返回一个新的数组。
map()方法的基本用法是:
$.map( array, function( item, index ) {
// 迭代函数
return item + index;
});
它接受两个参数:一个是要迭代的数组,另一个是要对数组中的每个元素执行的迭代函数。迭代函数必须返回一个新的值,这个值将作为新数组中的元素。
下面是一个简单的例子,我们可以用它来将一个数组中的每个元素乘以2:
var arr = [1, 2, 3, 4, 5];
var newArr = $.map(arr, function(item) {
return item * 2;
});
console.log(newArr); // [2, 4, 6, 8, 10]
map()方法也可以接受一个对象作为参数,而不是一个数组。在这种情况下,它会迭代对象中的每个属性,并将属性的值作为参数传递给迭代函数。
var obj = {
a: 1,
b: 2,
c: 3
};
var newObj = $.map(obj, function(value, key) {
return value * 2;
});
console.log(newObj); // [2, 4, 6]
map()方法还可以用来迭代一个jQuery对象,它会将jQuery对象中的每个DOM元素作为参数传递给迭代函数,并返回一个新的jQuery对象。
var $divs = $('div');
var $newDivs = $.map($divs, function(item, index) {
// 将每个div的宽度乘以2
$(item).width($(item).width() * 2);
return item;
});
$newDivs.appendTo('body');
map()方法还可以用来将一个对象转换为一个数组,我们可以用它来将一个对象转换为一个以其属性和值作为元素的数组:
var obj = {
a: 1,
b: 2,
c: 3
};
var arr = $.map(obj, function(value, key) {
return [key, value];
});
console.log(arr); // [['a', 1], ['b', 2], ['c', 3]]
map()方法也可以用来将一个数组转换为一个对象,我们可以用它来将一个以元素和值作为元素的数组转换为一个对象:
var arr = [['a', 1], ['b', 2], ['c', 3]];
var obj = $.map(arr, function(item) {
return {
key: item[0],
value: item[1]
};
});
console.log(obj); // [{key: 'a', value: 1}, {key: 'b', value: 2}, {key: 'c', value: 3}]
jQuery中的map()方法是一个非常有用的函数,它可以用来映射数组中的元素,并返回一个新的数组。它可以用来迭代数组、对象、jQuery对象,也可以用来将一个对象转换为一个数组,或者将一个数组转换为一个对象。