jQuery map()方法使用说明

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的区别,前者只能遍历数组,后者可以遍历数组和对象

时间: 2024-09-13 13:16:38

jQuery map()方法使用说明的相关文章

jquery.map()方法的使用详解_jquery

原型方法map跟each类似调用的是同名静态方法,只不过返回来的数据必须经过另一个原型方法pushStack方法处理之后才返回,源码如下: map: function( callback ) { return this.pushStack( jQuery.map(this, function( elem, i ) { return callback.call( elem, i, elem ); })); }, 本文主要就是分析静态map方法至于pushStack在下一篇随笔里面分析: 首先了解下

jquery map方法使用示例_jquery

jQuery.map( array, callback(elementOfArray, indexInArray) ) Returns: Array 感觉jquery的map方法非常好用,特向大家分享下. 方法作用:将数组或单个对象,替换为新的内容. 应用实例:获取一组checkbox的值,以英文逗号分隔,进行拼接. 复制代码 代码如下: <html> <head> <script type="text/javascript" src="http

jquery live()方法使用说明

今天花了很长一段时间在整个人中心的功能,遇到的问题不少,首先是 ajax的跨域问题.接着是jquery绑定的事件不起作用.花了很长一段时间调试加百度,最后,终于解决了,这特意与 jquery的live方法啊.下面是博客园里面的一篇文章,写的很明白. 什么是 .LIVE() .live方法类似于.bind(),除此之外,它允许你将事件绑定到DOM元素上,可以将事件绑定到DOM中还不存在的元素上,看看下面的例子: 比方说当用户在点击链接时及想提示他们正在离开站点.  代码如下 复制代码 $(docu

jquery load()方法使用说明

最近网站做一些改动,需要引用另一个网站的页面,于是用到了jQuery框加中的load方法.挺方便的. load(url, [data], [callback])手册上的说明很直接明了: 载入远程 HTML 文件代码并插入至 DOM 中.默认使用 GET 方式 – 传递附加参数时自动转换为 POST 方式.jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码.语法形如 "url #some > selector". 不过

jQuery 遍历map()方法详解_jquery

一.定义和用法 map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象. 二.语法 .map(callback(index,domElement)) 三.详细说明 由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组 四.案例: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>

JS中的forEach、$.each、map方法推荐_javascript技巧

forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环.例如下面这个例子: [1, 2 ,3, 4].forEach(alert); 等同于下面这个for循环 var array = [1, 2, 3, 4]; for (var k = 0, length = array.length; k < length; k++) { alert(array[k]); } Array在ES5新增的方法中,参数都是function类型,默认有传参,forEach方法中的function回

jquery.map遍历表单input产生数组的例子

jQuery.map( array, callback(elementOfArray, indexInArray) ) 看来和python的map方法差不多,只是参数顺序不同. python里的map方法是这样定义的 map(function, iterable, ...),可以接收多个迭代 例子  代码如下 复制代码 <p><b>Values: </b></p> <form> <input type="text" na

jquery.Ajax()方法调用Asp.Net后台的方法解析

 本篇文章主要是对jquery.Ajax()方法调用Asp.Net后台的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧.   1.无参数的方法调用 asp.net code:    代码如下: using System.Web.Script.Services;      [WebMethod]    public static string SayHello()    {   

动态加载jQuery的方法

  本文实例讲述了动态加载jQuery的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 function checkJquery() { if(!(window.jQuery)) { var s = document.createElement('script'); s.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'); s.setAttribu