Jquery中对数组的操作代码


Posted in Javascript onAugust 12, 2011

而在Jquery中则使用$.map()、$.each()来操作数组:
首先是普通的数组(索引为整数的数组):

$.map(arr,fn); 
对数组中的每个元素调用fn函数逐个进行处理,fn函数将处理返回最后得到的一个新的数组 
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; 
var newarr = $.map(arr, function(item) {return item*2 }); 
alert(newarr); 
$.each(array,fn)对数组array每个元素调用fn函数进行处理,没有返回值 
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; 
$.each(arr, function(key, value) { alert("key:" + key + "value:" + value); }); 
还可以省略function的参数,这个时候this可以得到遍历的当前元素的值 
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; 
$.each(arr, function() { alert(this); });

然后是索引为字符串的 键值对数组,针对这类数组,
一般采用$.each(array,fn)来操作:
var arr = { "jim": "11", "tom": "12", "lilei": "13" };
$.each(arr, function(key, value) { alert("姓名:"+key+"年龄:"+value); });
当然也可以使用无参的的function进行遍历;
当这类数据从服务器端获取时可以如下进行:
服务器端:
<%@ WebHandler Language="C#" Class="Handler" %> 
using System; 
using System.Web; 
using System.Web.Script.Serialization; 
using System.Collections.Generic; 
public class Handler : IHttpHandler { 
public void ProcessRequest (HttpContext context) { 
context.Response.ContentType = "text/plain"; 
Person p1 = new Person { Age = "22", Name = "tom" }; 
Person p2 = new Person { Age = "23", Name = "jim" }; 
Person p3 = new Person { Age = "24", Name = "lilei" }; 
IList<Person> persons = new List<Person> {p1,p2,p3}; 
JavaScriptSerializer js = new JavaScriptSerializer(); 
string s= js.Serialize(persons); 
context.Response.Write(s); 
} 
public class Person 
{ 
public string Name { get; set; } 
public string Age { get; set; } 
} 
public bool IsReusable { 
get { 
return false; 
} 
} 
}

先实例化了三个person对象,然后放到一个集合中,最后把这个集合序列化成字符串流到客户端;
客户端:
客户端通过$.parseJSON()将后台传递过来的字符串转化为js数组对象,接下来我们就使用操作普通数组的方式来操作这个得到的数组
第三种就是通过标签选择器获取的Jquery对象数组,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title></title> 
<script src="../myjs/jquery-1.4.2.js" type="text/javascript"></script> 
<script type ="text/javascript" > 
$(function() { 
$("p").text("这是p标签"); 
}); 
</script> 
</head> 
<body> 
<p></p> 
<p></p> <p></p> <p></p> <p></p> 
<p></p> 
</body> 
</html>

在浏览器中运行的效果为:
Jquery中对数组的操作代码
在dom加载完成后为每一个p元素动态的添加了文本,首先$("p")获取p标签的集合,相当于Javascript中的 document.getElementByTagName只是这里得到的是Jquery对象的数组,这样就有了Jquery固有的隐式迭代的功能,后面的text("这是p标签")的操作就迭代到了每一个P标签上,我们也可以显示的调用each函数来显示的迭代获得的Jquery对象数组,下面的代码同样可以实现上面的效果:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title></title> 
<script src="../myjs/jquery-1.4.2.js" type="text/javascript"></script> 
<script type ="text/javascript" > 
$(function() { 
$("p").each(function() { 
$(this).text("这是p标签"); 
}); 
}); 
</script> 
</head> 
<body> 
<p></p> 
<p></p> <p></p> <p></p> <p></p> 
<p></p> 
</body> 
</html>
Javascript 相关文章推荐
根据分辨率不同,调用不同的css文件
Jul 07 Javascript
JQuery实现动态适时改变字体颜色的方法
Mar 10 Javascript
JavaScript中使用Callback控制流程介绍
Mar 16 Javascript
JavaScript数组迭代器实例分析
Jun 09 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
Apr 08 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
Sep 04 Javascript
Express框架之connect-flash详解
May 31 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
Jul 03 Javascript
vue-cli3自动消除console.log()的调试信息方式
Oct 21 Javascript
原生js实现简单轮播图
Oct 26 Javascript
在antd Table中插入可编辑的单元格实例
Oct 28 Javascript
jQuery实现动态操作table行
Nov 23 jQuery
基于jQuery的星级评分插件
Aug 12 #Javascript
基于jQuery的投票系统显示结果插件
Aug 12 #Javascript
JavaScript中的View-Model使用介绍
Aug 11 #Javascript
仿jQuery的siblings效果的js代码
Aug 09 #Javascript
html中table数据排序的js代码
Aug 09 #Javascript
最常用的12种设计模式小结
Aug 09 #Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
Aug 09 #Javascript
You might like
php使用base64加密解密图片示例分享
2014/01/20 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
理解javascript回调函数
2014/12/28 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
解决vue打包 npm run build-test突然不动了的问题
2020/11/13 Javascript
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
写给爸爸的道歉信
2014/01/15 职场文书
小学生成长感言
2014/01/30 职场文书
小松树教学反思
2014/02/11 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
简单租房协议书
2014/10/21 职场文书
2014年人大工作总结
2014/12/10 职场文书
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers
Python使用Web框架Flask开发项目
2022/06/01 Python
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript
js前端图片加载异常兜底方案
2022/06/21 Javascript