1、js对象排序

// 排序之前
let objs = {f: {id: 2,name: '2'},a: {id: 3,name: '3'},c: {id: 1,name: '1'}
}// 根据对象某个属性值进行升序降序
/*obj: 需要排序的对象key: 按某个属性进行排序sortType: 升序/降序
*/
function objValueSort(obj, key, sortType) { // 排序的函数// 1.根据数组中的对象的“xxx”,得到排序后的key,return y-x 表示降序  x-y 表示升序const newkey = Object.keys(obj).sort((a, b) => {let x = Number(obj[a][key]);let y = Number(obj[b][key]);if (sortType) {return y - x;} else {return x - y;}});// 2.用排序后的key构建新的对象数组const newObj = {};// 创建一个新的对象,用于存放排好序的键值对for (let i = 0; i < newkey.length; i++) { // 遍历newkey数组newObj[newkey[i]] = obj[newkey[i]];// 向新创建的对象中按照排好的顺序依次增加键值对newObj[newkey[i]].index = i + 1;}return newObj;// 返回排好序的新对象
}// 根据id进行排序
let newObj = objValueSort(objs,'id')// 排序结果
newObj = {c: {id: 1,name: '1'},f: {id: 2,name: '2'},a: {id: 3,name: '3'},
}

2、数组对象排序

// 排序之前
let arr = [{id: 2,name: '2'},{id: 3,name: '3'},{id: 1,name: '1'}
]/*array: 需要进行排序的数组key: 根据某个属性进行排序order: 升序/降序  true:升序 false:降序
*/
function arrSortByKey(array, key, order) {return array.sort(function (a, b) {let value1 = a[property], value2 = b[property]if (desc) {  //升序return value1 - value2} else {                 //降序return value2 - value1}})
}// 根据id进行排序
arrSortByKey(arr,'id',true)//排序结果
console.log(arr)
arr = [{id: 1,name: '1'},{id: 2,name: '2'},{id: 3,name: '3'},
]

js对象、数组对象根据属性值进行升序降序排序相关推荐

  1. js:数组对象按key值进行升序降序排序

    1.先定义一个数组对象 let arr=[{name:'李欣',age:'18'},{name:'王钊',age:'15'},{name:'李雪',age:'20'},{name:'李逍遥',age: ...

  2. PHP中 如何将二位数组按某一个或多个字段值(升序/降序)排序?数字索引被重置,关联索引保持不变...

    如何将二位数组按某一个或多个字段值(升序/降序)排序?数字索引被重置,关联索引保持不变 1.$arr=array( 2. array('id'=>1,'name'=>'will','age ...

  3. js获取对象数组中指定属性值对象_3分钟学会操作JavaScript内置对象,快来试试吧...

    1 - 内置对象 1.1 内置对象 JavaScript 中的对象分为3种:自定义对象 .内置对象. 浏览器对象. 前面两种对象是JS 基础 内容,属于 ECMAScript: 第三个浏览器对象属于 ...

  4. js 计算对象数组中某个属性值重复出现的个数

    转载于:前进中的蜗牛 let list = [{name:"1000积分",serialNumber:6},{name:"500积分",serialNumber ...

  5. 二位数组按某一个或多个字段值(升序/降序)排序

    输出结果: 转载于:https://www.cnblogs.com/573583868wuy/p/5229307.html

  6. js sort方法根据数组中对象的某一个属性值进行排序(实用方法)

    js sort方法根据数组中对象的某一个属性值进行排序 sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同. var arr = [{name ...

  7. js根据数组中对象的多个属性值进行排序

    js根据数组中对象的多个属性值进行排序 seatList.sort(function (a, b) {if (a['ordinate'] === b['ordinate']) {if (a['absc ...

  8. js给数组添加数据的方式/js 向数组对象中添加属性和属性值

    参考:https://www.cnblogs.com/ayaa/p/14732349.html js给数组添加数据的方式有以下几种: 直接利用数组下标赋值来增加(数组的下标起始值是0) 例,先存在一个 ...

  9. 微信小程序js数组初始化_微信小程序开发之改变data中数组或对象的某一属性值...

    前言:在小程序的开发中,我们在view中便利data中数组或对象时,很多情况下需要在js中动态改变数组或者对象中某一香的属性值. 效果图: 我给大家总结了案例如下: wxml如下: {{item.we ...

最新文章

  1. 面向过程和面向对象的区别(转)
  2. 华为H3C ER3100由器限速方法合集
  3. Netty关闭客户端
  4. 杭电1879继续畅通工程
  5. 【优化求解】基于matlab遗传算法求解列车交路方案优化问题【含Matlab源码 1361期】
  6. JVM对象内存分配机制之对象在Eden区分配(五)
  7. 计算机Word文档新建样式A1是啥意思,高会《职称计算机》Word 2007:创建新样式
  8. ASTC纹理压缩格式详解
  9. CDBN卷积深度信念网
  10. 唯样商城:芯片解密的优缺点有哪些
  11. 简单逆向10(z3-solver)
  12. 好玩的猜数游戏(不是二分查找!四位数)
  13. 霹雳猿教程网站正式上线
  14. [译] 改善 DaVinci Resolve 性能的 5 个秘诀
  15. 常用SEISMIC BINARY数据的读取
  16. 参考文献怎么缩进换行
  17. oracle配置文件
  18. TPMS胎压传感器烧录器
  19. JZ18_二叉树的镜像
  20. 无间还是有道 SaaS“年度贡献奖”引猜想

热门文章

  1. 【数据结构】图的存储结构—邻接表
  2. DSPE-PEG-Streptavidin;Streptavidin-PEG-DSPE;磷脂聚乙二醇链霉亲和素,科研用试剂
  3. PeekMessage和GetMessage函数的主要区别
  4. FPGA和SoC、DSP概念 区别详解
  5. Condition接口
  6. 中职计算机基础微课,微课在中职计算机应用基础课堂中的应用.docx
  7. 游戏策划入门(3)——二次创意的价值和如何写故事?
  8. 不识烫烫烫屯屯屯,还说是攻城狮?
  9. 利用GUID/UUID生成token及验证token的正确性
  10. iPhone4 6月24日开售 199美元起