javascript 实现数组或对象排序
2017-10-24 18:54
253 查看
手头上在跟进一个在移动端显示统计分析的需求,其中有一个表格需要支持排序。拿到需求后就上网各种搜控件,没有搜到合适的控件(不知道是不是我搜的姿势不对!求前端大神救救我这个java菜鸟!!),就直接手写了。
测试数据
/** * collections 集合 * fieldName 排序字段 * sortType 排序类型 asc:升序 desc:降序 */ function sort(collections, fieldName, sortType) { if(!collections) return; sortType = sortType || 'asc'; var length = collections.length; var tempObj = {}; var tempIndex = 0; var calculateResult = 0; for(var index = 1; index <= length-1; index++){ tempIndex = index; while(tempIndex-1>=0){ calculateResult = collections[tempIndex][fieldName]-collections[tempIndex-1][fieldName]; if(sortType=='desc' && calculateResult > 0){ tempObj = collections[tempIndex]; collections[tempIndex] = collections[tempIndex-1]; collections[tempIndex-1] = tempObj; }else if(sortType=='asc' && calculateResult < 0){ tempObj = collections[tempIndex]; collections[tempIndex] = collections[tempIndex-1]; collections[tempIndex-1] = tempObj; }else{ break; } tempIndex--; } } //查看排序后的结果 for(var item in collections){ console.log(collections[item]); } }
测试数据
var collections = [ {'station':'分局1', 'collectNum':4, 'importance':154, 'aqyh':98, 'wfzl':23 }, {'station':'分局2', 'collectNum':90, 'importance':543, 'aqyh':8, 'wfzl':23 }, {'station':'分局3', 'collectNum':48, 'importance':154, 'aqyh':98, 'wfzl':23 }, {'station':'分局4', 'collectNum':21, 'importance':14, 'aqyh':9, 'wfzl':23 }, {'station':'分局5', 'collectNum':79, 'importance':14, 'aqyh':9, 'wfzl':23 } ];
sort(collections, 'collectNum', 'asc'); console.log("<================>"); sort(collections, 'collectNum', 'desc');
相关文章推荐
- JavaScript基于对象方法实现数组去重及排序操作示例
- javascript用对象方法实现数组去重并排序
- JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)
- JavaScript 数组(Array) sort 排序函数实现的简单高阶函数原理
- 分享两个JavaScript打乱数组顺序实现随机排序洗牌的方法(应用于音乐视频的随机播放等)
- Javascript中实现JSON数组多键值排序
- JavaScript:多维数组像ORDER BY一样实现多键值排序
- JavaScript对象数组的排序
- [Javascript]对象数组排序
- javascript 内置对象 - 数组的排序
- JavaScript-如何实现数组的随机排序?
- javascript之对象数组排序
- JavaScript 对象数组,根据某个对象属性进行排序
- 如何实现自定义类对象数组的排序
- 如何实现自定义类对象数组的排序
- javascript对象数组排序
- JavaScript中数组的合并以及排序实现示例
- javascript用arguments数组对象实现参数变量可变的函数
- javascript 对象数组排序(按照科目级次)
- javascript 数组排序与对象排序的实例