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 相关文章推荐
在JS中最常看到切最容易迷惑的语法(转)
Oct 29 Javascript
JsDom 编程小结
Aug 09 Javascript
jquery如何获取复选框的值
Dec 12 Javascript
js实现表单检测及表单提示的方法
Aug 14 Javascript
javascript伸缩型菜单实现代码
Nov 16 Javascript
JavaScript知识点总结之如何提高性能
Jan 15 Javascript
利用C/C++编写node.js原生模块的方法教程
Jul 07 Javascript
在微信小程序中使用图表的方法示例
Apr 25 Javascript
laypage+SpringMVC实现后端分页
Jul 27 Javascript
微信内置浏览器图片查看器的代码实例
Oct 08 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
May 09 Javascript
Node.js API详解之 V8模块用法实例分析
Jun 05 Javascript
基于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
自己前几天写的无限分类类
2007/02/14 PHP
php中获得视频时间总长度的另一种方法
2011/09/15 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
javascript Array对象基础知识小结
2010/11/16 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
python之PyMongo使用总结
2017/05/26 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
Python continue语句实例用法
2020/02/06 Python
python实现俄罗斯方块游戏(改进版)
2020/03/13 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
2020/07/20 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
大学生饮食配送创业计划书
2014/01/04 职场文书
军训自我鉴定怎么写
2014/02/13 职场文书
高中综合实践活动总结
2014/07/07 职场文书
党的群众路线教育实践活动总结大会主持词
2014/10/30 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
Java中的随机数Random
2022/03/17 Java/Android
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技