json sort
Array.sort()方法是用来对数组项进行排序的 ,默认情况下是进行升序排列。sort() 方法可以接受一个 方法为参数。
sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1的时候就交换两个数组项的顺序,否则就不交换。
var p = [5, 2, 3, 1, 7, 5, 6, 9, 6, 0]; function down(a, b) { return (a < b) ? 1 : -1 } p.sort(down) alert(p)json排序
var p = [ {name:"kitty", age:12}, {name:"sonny", age:9}, {name:"jake", age:13}, {name:"fun", age:24} ] function down(x, y) { return (x.age < y.age) ? 1 : -1 } p.sort(down) var $text = "<div>" $.each(p, function (key, value) { var $div = "<div>" $.each(value, function (key, value) { $div += "<span>" + key + ":</span>" + "<span>" + value + "</span>" + " " }) $div += "</div>" $text = $text + $div }) $text += "</div>" $(".text").html($text)写成类
<script type="text/javascript"> $(document).ready(function () { var p = [ {name:"kitty", age:12, price:190}, {name:"sonny", age:9, price:390}, {name:"jake", age:13, price:42}, {name:"fun", age:24, price:210} ] var tablesort = { init:function (arry, parm, sortby) { this.obj = arry this.parm = parm this.b = sortby }, sot:function () { var $this = this var down = function (x, y) { return (eval("x." + $this.parm) > eval("y." + $this.parm)) ? -1 : 1 }//通过eval对json对象的键值传参 var up = function (x, y) { return (eval("x." + $this.parm) < eval("y." + $this.parm)) ? -1 : 1 } if (this.b == "down") { this.obj.sort(down) } else { this.obj.sort(up) } },//排序 prin:function () { var $text = "<div>" $.each(this.obj, function (key, value) { var $div = "<div>" $.each(value, function (key, value) { $div += "<span>" + key + ":</span>" + "<span>" + value + "</span>" + " " }) $div += "</div>" $text = $text + $div }) $text += "</div>" $("html body").html($text) }//遍历添加dom元素,添加dom } function _temp() { this.init.apply(this, arguments) } _temp.prototype = tablesort; var sort1 = new _temp(p, "price", "down") //建立对象 sort1.init(p, "age", "up");//初始化参数更改 sort1.sot() sort1.prin() })</script>json sort的更多相关文章
- json数据处理技巧(字段带空格、增加字段)
1.json数据的正常取值:json[i].fieldName 2.json数据的字段带空格:eval('json[' + i + ']["' + field + '"]') 3. ...
- Json 数组排序
/*********************************************Json 数组排序 ******************************************** ...
- Java用Gson按照键值key排序json所有节点
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifa ...
- mongodb-导出数据到csv文件或json文件
在mongodb的bin目录下, 有一个mongoexport, 可用于数据的导出 [wenbronk@localhost bin]$ ./mongoexport --help Usage: mong ...
- JSON合并,并按时间排序
mergeJson: function (json1, json2) { var json = Object.assign([], json1, json2); return json.sort(fu ...
- 对json对象进行截取并按照某关键字进行排序
json对象截取后三个数据,并按照时间的顺序进行倒叙排序. var json = [{"sent_time":"08:29:09","dist&quo ...
- 推荐三款好用的JSON格式化工具——JSON-handle & HiJson & JSTool
工具一:JSON-handle JSON-Handle是一款谷歌浏览器插件. 1.访问http://jsonhandle.sinaapp.com/下载 2.打开Chrome浏览器的扩展程序(访问chr ...
- ElasticSearch入门知识扫盲
ElasticSearch 入门介绍 tags: 第三方 lucene [toc] 1. what Elastic Search(ES)是什么 全文检索和lucene 全文检索 优点:高效,准确,分词 ...
- JavaScript-json数组排序
排序是开发中不可避免的,最近遇到一个需求需要将JSON数组排序,需求比较简单,实现起来也没什么难度,简单记录下过程: 首先我们需要明白的JavaScript本身的排序是可以传入函数比较的,数组排序如下 ...
随机推荐
- vue生命周期及使用 && 单文件组件下的生命周期
生命周期钩子 这篇文章主要记录与生命周期相关的问题. 之前,我们讲到过生命周期,如下所示: 根据图示我们很容易理解vue的生命周期: js执行到new Vue() 后,即进入vue的beforeCre ...
- C++11并发编程:原子操作atomic
一:概述 项目中经常用遇到多线程操作共享数据问题,常用的处理方式是对共享数据进行加锁,如果多线程操作共享变量也同样采用这种方式. 为什么要对共享变量加锁或使用原子操作?如两个线程操作同一变量过程中,一 ...
- React.js 小书 Lesson16 - 实战分析:评论功能(三)
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson16 转载请注明出处,保留原文链接和作者信息. 接下来的代码比较顺理成章了.修改 Commen ...
- 【Shell】shell的运算
一.除法 a=12 b=7 1) expr $a / $b 计算出结果为个1 ,只支持整除 2) echo "scale=2;$a/$b" | bc结果为 1.71 3) awk ...
- 【Shell】shell 判断文件夹或文件是否存在
1.文件夹不存在则创建,文件夹是directory if [ ! -d "/data/" ];then mkdir /data else echo "文件夹已经存在&qu ...
- javascript window.open in safari
在ios系统中,无法使用 window.open 打开url,经过一番尝试终于找到了解决办法 var url='http://www.baodu.com'; var deviceAgent = nav ...
- Libxml2 学习
Libxml2 学习 1.概要 libxml 是一个实现操作XML数据功能的开源C语言库. API参考文档 http://xmlsoft.org/html/libxml-tree.html 2.wi ...
- 彻底消除wine中文乱码,QQ,kugoo等等....
原文链接:http://forum.ubuntu.org.cn/viewtopic.php?t=290155 lendylongli wine下中文的配置方案步骤:1. 初始设置运行 winecfg, ...
- java常用API之字符串缓冲区
StringBuffer类: StringBuffer是个字符串的缓冲区,是可变的字符串数组,即就是它是一个容器,容器中可以装很多字符串.并且能够对其中的字符串进行各种操作 StringBuffer的 ...
- scss-@extend
@extend指令用于共享规则和选择器之间的关系.它可以扩展所有其他类的样式在一个类中,也可应用于自己特定的样式. 查看如下scss@extend示例: .style{ font-size: 30px ...