JavaScript对象数组的排序
来源:互联网 发布:coc黑胖数据 编辑:程序博客网 时间:2024/05/10 19:09
JavaScript给我们提供了两个排序方法,一个是sort(),另一个是reverse(),对于第二个方法reverse(),就是对数组倒序排序。用到的地方并不多,对于第一个方法, 是比较常用的一个方法, 如果sort方法没有使用比较函数,则会JavaScript会默认按照字符编码的顺序进行排序,在对数字数组进行排序的时候就会出现一些问题,如果使用了排序方法的话,这些问题都会不复存在。比较函数如下:
对简单数组排序:
//需要排序的数组var arr = [...........];//升序排序var compareASC = function (a, b) { if (a> b) { return -1; } else if (a< b) { return 1; } else { return 0; }};//降序排序var compareDESC = function (a, b) { if (a< b) { return -1; } else if (a> b) { return 1; } else { return 0; }}//arr升序arr = arr.sort(compareASC);//arr降序arr = arr.sort(compareDESC);
其实升序和降序排序主要是看比较符号的方向 ,现在情况变了一下,如果我们想要操作一个对象数组,按其中的某一个字段属性进行排序的时候,该如何做呢?
其实方法还是一样的,我们只需要把获取到需要排序的字段的值 即可,方法如下:
对对象数组排序:
//需要排序的数组var arr = [{......},{......},{........}];//需要排序的字段名var sortName = '****'//升序排序var compareASC = function (obj1, obj2) { var val1 = obj1[sortName]; var val2 = obj2[sortName]; if (val1 > val2) { return -1; } else if (val1 < val2) { return 1; } else { return 0; }};//降序排序var compareDESC = function (obj1, obj2) { var val1 = obj1[$scope.currentName]; var val2 = obj2[$scope.currentName]; if (val1 < val2) { return -1; } else if (val1 > val2) { return 1; } else { return 0; }}//arr升序arr = arr.sort(compareASC);//arr降序arr = arr.sort(compareDESC);
1 0
- JavaScript对象数组的排序
- javascript 对象数组排序
- javascript 对象数组排序
- javascript对象数组排序
- [Javascript]对象数组排序
- [JavaScript]对象数组的排序处理
- javascript 内置对象 - 数组的排序
- javascript 对象数组根据对象object key的值排序
- Javascript 排序数组或对象
- javascript之对象数组排序
- JavaScript对象数组排序算法
- JavaScript 根据数组中对象的属性排序
- JavaScript - Array对象的使用 及 数组排序 sort
- javascript的数组排序
- javascript的数组排序
- JavaScript的数组对象
- javascript 数组对象根据指定属性排序
- javascript 实现数组或对象排序
- 数组指针和指针数组的区别
- Java爬虫,信息抓取的实现
- C++实现简单的计时器
- using taglist in vim
- 堆
- JavaScript对象数组的排序
- golang技巧
- --总结加一个完整的可运行的Thrift例子
- SSH学习——声明式事物管理(Spring)
- LINUX进程管理
- spring service 层调用service 层是否合理
- 设计模式:单例模式(十一)
- BZOJ 3714: [PA2014]Kuglarz kruskal
- STM32f103 读LIS302DL传感器X、Y、Z轴向寄存器