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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

写成类

<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>

js运用sort对json 数组进行排序

js运用sort对json 数组进行排序的更多相关文章

  1. js的sort(0实现数组的排序

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. js中字符串和json数组的相互转换

    //示例 var a={"name":"tom","sex":"男","age":"24& ...

  3. 对JSON数组对象排序-有键相同的元素,分组数量不一致,可采用如下的JS进行循环表格输出

    var now=eval(data.data); // now.sort(sortBy('bigIdOrder', true, parseInt)); var tab=""; va ...

  4. js中如何向json数组添加元素

    //1. var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"; var jsonarray = eval(' ...

  5. 关于JS解析编历JSON数组(含多维数组)

    第一部分:      ].xing) 第二部分:                         }    解释:    countryObj 为value对象的一个属性明    value[coun ...

  6. JS向后台传递json数组对象

    var Obj = []; //一下代码可以循环插入 var returnObj = new Object();//创建一个对象 returnObj.id = “123”: returnObj.mon ...

  7. python json数组对象排序

    arr = [{"name": "name_1", "level": 1}, {"name": "name_2 ...

  8. js中使用将json数组 转换为json将一个包含对象的数组用以创建一个包含新重新格式化对象的新数组

    1.使用reduce: let arr = [{ "code": "badge", "priceList": [{ "amount ...

  9. JS中json数组多字段排序方法(解决兼容性问题)(转)

    前端对一个json数组进行排序,用户需要动态的根据自己的选择来对json数据进行排序. 由于后台表设计问题所以不能用sql进行排序,这里用到了js的sort方法. 如果对单字段排序,那么很简单,一个s ...

随机推荐

  1. 前端学习笔记系列一:1.export default / export const

    export default 是默认导出 export const 是命名导出 参考:Javascript (ES6), export const vs export default(基本上就是翻译这 ...

  2. Slim安装以及使用

    最近在用backbone.js 做东西,因为牵扯到REST services 所以需要后台支持,此处选择了php.Slim 是php的一个框架. 貌似国内文章对此的介绍比较少,在安装Slim的过程中出 ...

  3. CF755G PolandBall and Many Other Balls 题解

    从神 Karry 的题单过来的,然后自己瞎 yy 了一个方法,看题解区里没有,便来写一个题解 一个常数和复杂度都很大的题解 令 \(dp_{i,j}\) 为 在 \(i\) 个球中选 \(j\) 组的 ...

  4. NO33 第6--7关题目讲解

    客户端(电脑)通过浏览器输入域名,先找hosts文件及本地dns缓存,若都没有,就找localDNS服务器,若没有,localDNF服务器找根服务器(全球13台的那个根”.“服务器),根就把.com这 ...

  5. ElasticSearch入门了解

    什么是Elasticsearch: Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 1.什么是搜索? 搜索,就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索 ...

  6. VUE - 路由跳转时设置动画效果

    /* 为对应的路由跳转时设置动画效果 */   <transition name="fade">         <router-view />     & ...

  7. CSS - flex使行内元素快速对齐

    div{ display:flex; alian-items:center; //使垂直对齐 justify-content:center //使水平对齐 }

  8. 052、Java中使用do…while循环实现1~100的累加

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  9. 001-PHP静态变量

    <?php function ADD1() { static $a = 10; //定义静态变量 $a += 1; echo "静态变量a的值为:" . $a . " ...

  10. POJ 3468 区间更新(求任意区间和)A Simple Problem with Integers

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 163977 ...