$.map()和$.each() 区别
1.$.each()
没有返回值。$.each()里面的匿名函数支持2个参数:当前项的索引i,数组中的当前项v。如果遍历的是对象,k 是键,v 是值。
$.each(arr, function(index,value){
//do something
})
参数:arr要遍历的数组,index当前项的索引,value数组中的当前项
第1个和第2个参数正好和以上两个函数是相反的,注意不要记错了
$.each( ["a","b","c"],function(i, v){
alert( i +": " + v );
});
$("span").each(function(i, v){
alert( i +": " + v );
});
$.each( { name:"John", lang:"JS" },function(k, v){
alert("Name: " + k +", Value: " + v );
});
2.$.map()
有返回值,可以return
出来。$.map()里面的匿名函数支持2个参数和$.each()里的参数位置相反:数组中的当前项v,当前项的索引 i。如果遍历的是对象,k
是键,v 是值。如果是$("span").map()形式,参数顺序和$.each() $("span").each()一样。
$.map(arr, function(value, index){
//do something
return XXX
})
var arr=$.map( [0,1,2],function(v){
return v + 4;
});
console.log(arr);
$.map({"name":"Jim","age":17},function(k, v){
console.log( k+":"+v );
});
来源:https://www.cnblogs.com/liuruyi/p/6483526.html