前面转载过一片关于js数组的一些基本能操作方法,本文结合实例对数组排序做简要探讨。

首先看一实例,一般涉及到排序都是动态数据,现在我们自己新建一数组进行模拟。

html代码:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js">
</script>
<style>
*{margin:0px;padding:0px}
#content{width:95%;margin:10% auto}
ul{display:flex;margin:0px auto;flex-flow: row wrap;}
li{width:100px;height:100px;line-height:100px;text-align:center;border:1px solid #666;list-style:none;margin-right:10px;margin-bottom:15px;font-size:48px}
</style>
</head>
<body>
<script>
$(function(){
var Arr=[1,3,2,54,23,7,4,8,65,232,124,23]
var sHtml="<ul>";
$.each(Arr,function(i,val){
sHtml+="<li >"+val+"</li>"
})
sHtml+="</ul>"
$("#content").append(sHtml)
})
</script> <div id="content"></div>
</body>
</html>

css比较简单,就是简单设置了边框,字体大一些,容易区分。。。这里需要说的是之前用过display:box实现多元素排列一行,不过使用过程中发现,如果父元素设置了display:box属性,则它的子元素是没法控制换行的 ,网上又说可以用box-lines解决,测了之后无果,最后也没解决这个问题,所以就换了display:flex属性 ,除了拼写,和box是很相像的,不过可以方便的设置换行~~

在js中,简单定义了一个数组,并通过each方法,显示到li中,最终结果如下图:

下面我们通过简单的设置来让元素从小到大排列:

js代码如下:

 <script>
$(function(){
var Arr=[1,3,2,54,23,7,4,8,65,232,124,23]
Arr.sort(function(a,b){
return a-b
})
var sHtml="<ul>";
$.each(Arr,function(i,val){
sHtml+="<li >"+val+"</li>"
})
sHtml+="</ul>"
$("#content").append(sHtml)
})
</script>

sort()方法是按照字符编码的顺序进行排序,我们可以方便的定义一个比较函数,如a<b,则a排在b的前面。

还是很听话的~~

思考下,如果是多维数组呢,比如像这样:

var Arr=[{"font":"宋体","height":20},{"font":"黑体","height":5},{"font":"书法体","height":2},{"font":"隶书","height":56},{"font":"小篆","height":13},{"font":"楷体","height":67},{"font":"行楷","height":34},{"font":"草书","height":18},{"font":"魏碑体","height":99},{"font":"幼圆","height":23},{"font":"霹雳体","height":12},{"font":"造字工坊","height":1}]

 <!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js">
</script>
<style>
*{margin:0px;padding:0px}
#content{width:95%;margin:10% auto}
ul{display:flex;margin:0px auto;flex-flow: row wrap;}
li{width:100px;height:100px;line-height:100px;text-align:center;border:1px solid #666;list-style:none;margin-right:10px;margin-bottom:15px;font-size:20px}
</style>
</head> <body>
<script>
$(function(){
var Arr=[{"font":"宋体","height":20},{"font":"黑体","height":5},{"font":"书法体","height":2},{"font":"隶书","height":56},{"font":"小篆","height":13},{"font":"楷体","height":67},{"font":"行楷","height":34},{"font":"草书","height":18},{"font":"魏碑体","height":99},{"font":"幼圆","height":23},{"font":"霹雳体","height":12},{"font":"造字工坊","height":1}]
Arr.sort(function(a,b){
return a.height-b.height
})
var sHtml="<ul>";
$.each(Arr,function(i,val){
sHtml+="<li >"+val.font+val.height+"</li>"
})
sHtml+="</ul>"
$("#content").append(sHtml)
})
</script> <div id="content"></div>
</body>
</html>

注意第20-23行,道理是一样的,找出我们要排序的依据,然后进行比较,结果如下:

jquery数组排序学习的更多相关文章

  1. jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)

    今天学习jQuery,看到nth-child(even)用法,特意找了下这个选择器的用法,在CSS3标准中,用法很强大. 对此,我把CSS3标准中nth-child()用法大致介绍下: CSS3伪类选 ...

  2. Jquery插件学习

    前端开发也工作了一段时间,Jquery代码页写了很多,但是都是些的很零散的,不是很好用,网上看了很多人写的Jquery 很好用,而且到每个项目中都可以使用, 本人就感觉很好奇他们是怎么做到的呢,于是自 ...

  3. JQuery基础学习总结

    JQuery基础学习总结 简单总结下JQuery: 一:事件 1.change事件 <!DOCTYPE html> <html lang="en"> < ...

  4. jQuery Mobile 学习

    jQuery Mobile 学习系列 http://blog.csdn.net/bao990423420/article/details/13995021

  5. jQuery EasyUI学习资源汇总

    jQuery EasyUI学习资源汇总 EasyUi – 1.入门 EasyUi – 2.布局Layout + 3.登录界面 EasyUi – 4.datwagrid 学习Jquery EasyUI的 ...

  6. Jquery重新学习之七[Ajax运用总结A]

    Jquery中Ajax的运用是另外一个重点,平时项目经常会用它进行一些异步操作:其核心是通过XMLHttpRequest对象以一种异步的方式,向服务器发送数据请求,并通过该对象接收请求返回的数据,从而 ...

  7. jQuery框架学习第十一天:实战jQuery表单验证及jQuery自动完成提示插件

    jQuery框架学习第一天:开始认识jQueryjQuery框架学习第二天:jQuery中万能的选择器jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQuer ...

  8. jQuery源代码学习_工具函数_type

    jquery源代码学习_工具函数_type jquery里面有一个很重要的工具函数,$.type函数用来判断类型,今天写这篇文章,是来回顾type函数的设计思想,深入理解. 首先来看一下最终结果: 上 ...

  9. jQuery源代码学习笔记_工具函数_noop/error/now/trim

    jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...

随机推荐

  1. 关于LINUX文件与目录的问题说明

    文件权限一般可认为是0 123 456 789,一共十位: 0:表示该文件的文件类型.Windows里面是使用了一种文件关联的技术,通过扩展名来关联相应的应用程序,使得双击某个文件,就能达到调用相应的 ...

  2. Greedy:Radar Installation(POJ 1328)

    装雷达 题目大意,就是令在海岸线的(直线)一边是海(y>0),另一边是陆地(y<=0),在海岸线上装雷达,雷达可以覆盖的范围为d,海上有岛,(x,y),问你应该怎么装雷达,才能做到技能雷达 ...

  3. 前台js分页,自己手写逻辑

    js代码如下: //设置分页 var pageSize = 10; //设置一次显示多少页 var pageLimit = 5; $(function(){ //查询所有内容 $.post(ctx + ...

  4. Mac相关命令

    1,查询端口占用与Kill相应进程 lsof -i:端口,查询端口的占用情况 kill PID,关闭指定PID的进程. 如: localhost:~ tianjingcheng$ kill 729 l ...

  5. Java之IO操作总结

    所谓IO,也就是Input与Output的缩写.在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写 其他知识点将放置后续章节 对于文件内容的操作主要分为两大类 分别是: 字符流 字节流 ...

  6. php 正则表达式

    <?php //正则表达式 //定界符:斜杠:/正则/ //匹配开始:^ //匹配结束:$ /*\d代表一个数字 \w代表一个单词 */ $zz = "/(13[0-9]|14[5|7 ...

  7. 《JavaScript高级程序设计》学习笔记

    系统学习JS, 从<JavaScript高级程序设计>入门,通过学习jQuery或者angularJS源码来进阶. 第1章 JavaScript简介 1.JS问世的目的是处理以前由服务器端 ...

  8. ytu 1910:字符统计(水题)

    字符统计 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 421  Solved: 92[Submit][Status][Web Board] Descri ...

  9. jquery笔记(仅供个人参考)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  10. Java线程面试题 Top 50

    转自:http://www.importnew.com/12773.html 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java ...