树形结构体按照 sort 进行排序先按照字母排序 然后按照数字排序
// 先按照字母排序 然后按照数字排序
function sortListByLetter(arr) {
return arr.sort((a, b) => {
if (isNaN(a.name) && isNaN(b.name)) {
// 都不是数字,按字母顺序排序
return a.name.localeCompare(b.name);
} else if (!isNaN(a.name) && !isNaN(b.name)) {
// 都是数字,按数字大小排序
return a.name - b.name;
} else {
// 字母和数字混合,数字排在后面
return isNaN(a.name) ? -1 : 1;
}
});
} // 树形结构体按照 sort 进行排序
export function sortTreeData (data, flag) {
let arr = []
if (flag === 1) {
arr = data[0].children
} else {
arr = data
}
// 条件-是设备
if(arr[0]?.mClassNO) {
console.log('arr',arr);
sortListByLetter(arr);
}else {
arr.sort(function (a, b) {
return a.sort - b.sort
})
}
arr.forEach(item => {
if (item.children) {
item.children = sortTreeData(item.children, 2)
}
})
if (flag === 1) {
data[0].children = arr
return data
} else {
return arr
}
}
树形结构体按照 sort 进行排序先按照字母排序 然后按照数字排序的更多相关文章
- 结构体的sort排序
结构体用sort快排的方法 struct node{ int k,s; }p[]; bool cmp1(node x,node y){ return x.s>y.s; //定义降序排序(从大到小 ...
- python如何将指定路径下的某类型文件,返回一个树形结构体,让前端显示为树形的目录结构
最近遇到一个问题就是某个linux的目录下有各种文件现在的要求是只需要返回.kml格式的文件,并根据前端要求返回如下结构体即:[{'children': [{'children': [{'title' ...
- Java的类C结构体的实现,以及对类的某一属性进行排序
public static class Foo { public int x1; public int x2; public int day; } public static Foo[] bridge ...
- 结构体的sort【防止遗忘w】
#include<iostream> #include<algorithm> using namespace std; int n; struct jie { int num; ...
- golang结构体排序 - 根据下载时间重命名本地文件
喜M拉Y下载音频到手机,使用ximalaya.exe 解密[.x2m]为[.m4a]根据文件下载创建时间,顺序重命名文件,方便后续播放. 源码如下:package main import ( &quo ...
- sort+结构体+简单数学+暴力-例题
A-前m大的数 还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大 ...
- C++结构体的应用_YCOJ
结构体是一种自定义的东西,用struct来定义.在他里面, 可以装许多东西,比如int,string,char,bool等等等等. 如: struct a{ string name; int a; i ...
- Demo_张仕传_结构体考试-modify
/* 题目: //声明一个结构体类型 struct _AdvTeacher { char *name; char *tile; int age; char *addr; char *p1; //系统预 ...
- Go 结构体(Struct)
引用曾经看到的一篇文章里面对 Golang 中结构体的描述,如果说 Golang 的基础类型是原子,那么 结构体就是分子.我们都知道分子是由原子组成的,换言之就是结构体里面可以包含基础类型.切片. 字 ...
- 【转】golang 结构体和方法
原文:https://www.jianshu.com/p/b6ae3f85c683 ---------------------------------------------------------- ...
随机推荐
- 使用AWS存储数据并下载遥感影像Landsat为例
使用AWS存储数据并下载遥感影像Landsat为例 一.步骤: 创建s3存储桶(具体创建账号方式请问"度娘",当时忘记录了) 创建用户--配置策略 用该用户创建访问密钥--记录 访 ...
- ECMO(体外膜氧合)的使用费用为什么会这么高?
给一个大致的费用: 相关: https://www.bilibili.com/video/BV1rc411H7uT/ https://haokan.baidu.com/v?pd=wisenatural ...
- 【转载】 ReLu(Rectified Linear Units)激活函数
原文地址: https://www.cnblogs.com/neopenx/p/4453161.html ============================== 论文参考:Deep Sparse ...
- MindSpore计算框架如何发布训练好的模型到官方模型仓库MindSpore_Hub上
相关官方资料: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/use/publish_model.html 参考地址: https://g ...
- 如果一个windows主机上插两个蓝牙适配器会如何???——由于 Windows 无法加载这个设备所需的驱动程序,导致这个设备工作异常。 (代码 31)——windows主机蓝牙适配器驱动错误排查
事情是这样的,在某鱼上挂了一个蓝牙适配器,是自己多年前买的,给自己的老电脑用的,那一台老电脑主板上没有自带蓝牙,于是就在某东上买了一个蓝牙适配器: 但是这几年新买的电脑都自带蓝牙,于是准备把这个适配器 ...
- JNA使用入门
JNA即Java Native Access. 官方主页 代码仓库 官方样例 maven中心仓库主页 官方文档 Getting Started Functional Description. Mapp ...
- [学习笔记] 丢番图方程 & 同余 & 逆元 - 数论
首先,他们几个有着极大的相似性.另外,他们的各自的思想都能够很好的服务于另外几个,有助于加深理解. 文中有些letax公式抽风了,全屏之后应该能看得见-- 线性丢番图方程 丢番图不是个图啊!他是个ma ...
- Binance 如何使用 Quickwit 构建 100PB 日志服务(Quickwit 博客)
三年前,我们开源了 Quickwit,一个面向大规模数据集的分布式搜索引擎.我们的目标很宏大:创建一种全新的全文搜索引擎,其成本效率比 Elasticsearch 高十倍,配置和管理显著更简单,并且能 ...
- flex数据绑定
1 .方法绑定 [Bindable(event="myFlagChanged")] private function isEnabled():String { if (myF ...
- C语言基础- Hello World
第一个C语言程序 Hello World # include <stdio.h> //#关键标识符,表示用用头文件:include:引入都文件关键字 // stdio.h:系统标准输入.输 ...