$.each()
each() 方法规定为每个匹配元素规定运行的函数
语法
$(selector).each(function(index,element))
遍历数组
var arr = ['a','b','c'];
$.each(arr,function (index,value) {
console.log(index + ',' + value);
})
结果
遍历对象
var obj = {
name: '小绵羊',
sex: '女',
age: '18'
}
$.each(obj,function (key,value) {
console.log(key + ',' +value);
})
$.map()
map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象
语法
$.map( arr/obj, callback )
var arr = ['a','b','c'];
var newarr = $.map(arr,function (value,index) { // 回调函数参数位置不一样
console.log(index + ',' + value);
var result = value;
return result;
})
console.log(newarr);
console.log(arr === newarr);
同样的事情交给each做
var arr = ['a','b','c'];
var newarr = $.each(arr,function (index,value) {
console.log(index + ',' + value);
var result = value;
return result;
})
console.log(newarr);
console.log(arr === newarr);
$.each()返回的是原数组,并不会生成新的数组
总结:
1.
each 为每个匹配元素规定要运行的函数
map 用于使用指定函数处理数组袭中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回
2.
传递参数不同
3.
each 返回 false 可用于及早停止循环
map 返回值将作为结果数组中的一个元素,如果返回值为null或undefined,则不会被添加到结果数组中