基本语法:thisValue(可选)

$.map(arr|obj,callback) /

array.map(function(currentValue,index,arr), thisValue)

基本理解:

1.将一个数组中的元素转换到另一个数组中。

2.作为参数的转换函数会为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。转换函数可以返回转换后的值、null(删除数组中的项目)或一个包含值的数组,并扩展至原始数组中。

注: callback函数可以简写成字符串(考虑版本原因,尽量不要简写),map不会改变原数组或者对像

例如:“a*a”==== function(a){return a*a}

 简单案例演示:

1.将原数组中每个元素加 4 转换为一个新数组

$(function(){
             var arr =[0,1,2]
              arr = $.map(arr,function(n){
                    return n+4;
                });
             alert(arr);
            });

结果:

 

jquery 像map动态增加数据 jquery中map函数_字符串

2.原数组中大于 0 的元素加 1 ,否则删除。 

$(function(){
                var arr = [0,1,2,3];
                arr = $.map(arr,function(n){
                 return n > 0 ? n+1 : null;
                });
                console.log(arr);
            });

结果:

 

jquery 像map动态增加数据 jquery中map函数_数组_02

3.原数组中每个元素扩展为一个包含其本身和其值加 1 的数组,并转换为一个新数组。

 

$(function(){
                var arr = [0,1,2,3];
                arr = $.map(arr,function(n){
                  return [n,n+1];
                });
                console.log(arr);
            });

结果: 

 

jquery 像map动态增加数据 jquery中map函数_数组_03

4.原数组中每个元素返回元素和下标

 

$(function(){
                var arr = ['a','b','c'];
                arr = $.map(arr,function(elem,i){
                    return elem +i;
                });
                console.log(arr);
            });

结果:

 

jquery 像map动态增加数据 jquery中map函数_转换函数_04