递归实现对多层嵌套的对象数组依照某属性进行排序
<script>//开发中如果需要对多层嵌套的对象数组依照某个属性进行排序,可以使用递归的方法实现//比如需要对数组里面每一层的importSum属性值进行排序const arr = [{ importSum: "3", children: [{ importSum: "90", children: [{ importSum: "60" }] },{importSum: "78"}] },{ importSum: "89", children: [{ importSum: "10", children: [{ importSum: "9" },{ importSum: "4" }] }] },{ importSum: "25", children: [{ importSum: "111", children: [{importSum: "78" }] },{ importSum: "99", children: [{importSum: "156" },{importSum: "5" }] }] },]function sortData(data, type) {data.sort((a, b) => {// 升序if (type == "ascending") {return a.importSum - b.importSum;}// 降序else if (type == "descending") {return b.importSum - a.importSum;}})// 如果有嵌套children且children里面有数据 就递归调用排序函数data.forEach(item => {if (item.children && item.children.length != 0) {sortData(item.children,type)}})return data}const newArr = sortData(arr,"descending")console.log(newArr);</script>
递归实现对多层嵌套的对象数组依照某属性进行排序相关推荐
- js计算对象数组中某个属性合计
js 计算对象数组中某个属性合计 countTotal调用示例: let arr = [{id: 0, price: 199.88},{id: 1, price: 299.88},{id: 2, pr ...
- 查找对象数组中某属性的最大最小值
查找对象数组中某属性的最大最小值的快捷方法 例如要查找array数组中对象的value属性的最大值,这里记为maxVal var array=[{"index_id": 119,& ...
- es6 数组找最大值_在对象数组中查找属性的最大值
我正在寻找一种非常快速,干净且有效的方法来获取以下JSON切片中的最大" y"值: [ { "x": "8/11/2009", " ...
- Java对象数组按照其属性排序的方法
问题描述: 开发时我们希望用一个类表示某种物品, 用其域来描述物品的特性, 当我们有一组物品也就是一个对象数组时,我们会希望这组物品按照它的某个属性来排序 也就是需要对象数组按照其属性排序 一 类定义 ...
- java集合按大小排序_List集合对象中按照不同属性大小排序的实例
实例如下: package com.huad.luck; import java.util.arraylist; import java.util.collections; import java.u ...
- Java树形转扁平_多层嵌套map对象转扁平化map
将深度嵌套的map对象转换为扁平化的map对象输出. import org.apache.commons.lang3.StringUtils; import java.util.HashMap; im ...
- angular8实现对象数组根据某个属性排序(多个也可以)
代码中col是传进来的对象的属性名 toLowerCase()将字符串转换为小写. arrayInfos是数组,存储的是对象 这里我是配上一个上下切换的箭头使用的,点击切换上下方向并且排序 sort方 ...
- 使用Comparable、Comparator接口实现对对象数组、List集合自定义排序
1.实现对象数组排序 (1)方法一,需要排序的对象所属的类实现Comparable接口,复写 comparaTo方法 (2)方法二,需要排序的对象所属的类已经完成无法实现Comparable接口,这 ...
- js中如何优雅修改一个多层嵌套list对象的值
如何优雅更改一个N层嵌套对象属性的值 看下边的代码,要加工一个嵌套list的属性值,然后再赋值回去,大概只能这样写: dp.data.treelist = dp.data.treelist.map(. ...
最新文章
- html中不透明度怎么写,css如何设置div不透明度?
- 傻瓜式操作Nagios图解
- jQuery Event.stopPropagation() 函数详解
- IDOC实例, Inbound IDOC
- 爬虫多线程生产者与消费者
- adf.test_在ADF 12.2.1.3中使用基于JSON的REST Web服务
- java emptylist_Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方...
- sharepoint2010 浏览器无法打开word
- as 怎么将多个cpp文件代码编译成so_你编写的Java代码是咋跑起来的?
- android 8 ldac,小米Android 8.0机型支持LDAC功能
- C++——fcntl
- 《个人信息去标识化指南》笔记
- cocos 节点坐标和世界坐标转换 个人理解与应用
- Win11麦克风有回音怎么消除 Win11麦克风回声怎么调
- 不会比这更详细的前端工程化的入门教程了
- 【保持阅读习惯才能无障碍阅读】如何阅读英文时报 magazinelib 获取报纸
- Windows | 查看内存频率(不用外部软件
- Access Token机制简单介绍
- Android 6.0 更新包与已安装应用的签名不一致
- session-based recommendation的两个模型对比NARM, STAMP