【jquery ajax】jQuery map()方法使用说明

更新时间:2018-09-03    来源:jquery    手机版     字体:

【www.bbyears.com--jquery】

jquery有两个map方法。

一个是主要用来遍历操作数组和对象,

另一个是主要用于遍历jquery对象。

法定义是

jQuery.map( array, callback(elementOfArray, indexInArray) )
看来和python的map方法差不多,只是参数顺序不同。

python里的map方法是这样定义的 map(function, iterable, ...),可以接收多个迭代对象。

所以我想把之前学习python map的示例用jquery重写下

示例一:

 代码如下 >>> def cube(x): return x*x*x
>>> map(cube, range(1, 11))
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

 

jquery写就是:

 代码如下

var arr = [1,2,3,4,5,6,7,8,9,10 ];
arr = jQuery.map(arr, function(n, i){
return (n*n*n);
});
console.log(arr);

示例二:

 代码如下

>>> def cube(x) : return x + x
...
>>> map(cube , "abcde")
["aa", "bb", "cc", "dd", "ee"]

用jquery实现是:

 代码如下

arr = [ "a", "b", "c", "d", "e" ];
arr = jQuery.map(arr, function(n, i){
return (n+n);
});
console.log(arr);

另外,jquery.map方法还可以实现类似python filter的功能

例三:

 代码如下

>>> def f(x): return x % 2 != 0 and x % 3 != 0
>>> filter(f, range(2, 25))
[5, 7, 11, 13, 17, 19, 23]

用jquery.map实现就是:

 代码如下

arr=$.map( [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24], function (a) {
return (a%2!=0&&a%3!=0?a : null);
});
console.log(arr);

前些天记录了java中for循环取map,发现用jquery的each一样可以取map(我称之为js的map,不要较劲),且顺序和map中顺序一致。废话少说,看代码

1

 代码如下 var map = {
    地名: ["北京","天津","上海"],
    民族: ["汉族","藏族","维吾尔族"]
};
 
$.each(map,function(key,values){
    console.log(key);
    $(values).each(function(){
        console.log("t" + this);
    });
});

如果安装了firebug,控制台输出如下树状结构:

地名
  北京
  天津
  上海
民族
  汉族
  藏族
  维吾尔族

注意:jquery中的$().each和$.each的区别,前者只能遍历数组,后者可以遍历数组和对象

本文来源:http://www.bbyears.com/wangyezhizuo/44079.html

猜你感兴趣