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本身的排序是可以传入函数比较的,数组排序如下 ...
随机推荐
- console命令详解:(转载学习)
Console命令详解,让调试js代码变得更简单 Firebug是网页开发的利器,能够极大地提升工作效率. 但是,它不太容易上手.我曾经翻译过一篇<Firebug入门指南>,介绍了一些 ...
- [Scala] Pattern Matching(模式匹配)
Scala中的match, 比起以往使用的switch-case有著更強大的功能, 1. 傳統方法 def toYesOrNo(choice: Int): String = choice match ...
- Redis启动和关闭
带配置文件启动 ./redis-server redis.conf 关闭 无密码模式 ./redis-cli -h xxx -p xxx shutdown 密码模式 ./redis-cli -h ...
- D3(v5) in TypeScript 坐标轴之 scaleBand用法
在学习d3时候,发现在TS中实现D3的坐标轴中遇到一些错误,而这些错误却不会存在于js(因为ts的类型检查)写法中,因此做下笔记: import * as d3 from 'd3';import * ...
- html和css(一)
简单点来说html和css就是一起连在使用,有了html和css会使网页更加有活力,看起来更加的好看. html是做关于网页标签这一块相当于骨架,更深的还需要另一个来完成,那就是css,相当于向里面加 ...
- Android界面编程--使用活动条(ActionBar)--实现Tab导航
使用ActionBar结合fragment实现导航 1,调用ActionBar的setNavigationModel(ActionBar.NAVIGATION_MODE_TABS)设置使用tabs导航 ...
- Html-知识总结
1.Html概述 1.1什么是Html Html:超文本标记语言(hyperText Markup Language) “超文本”加上指页面内可以包含图片,链接等非文字内容. “标记”就是使用标签的方 ...
- Java transient和volatile关键字
关键字Volatile Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总 ...
- Cocos2d-js 开发记录:Loading载入界面自定义
Loading界面是一个cc.Scene具体请看: http://blog.csdn.net/jonahzheng/article/details/38348255 如果仅仅是想把图片(cocos l ...
- 同源策略和Jsonp、CORS
一.同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之 ...