树形结构体按照 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 ---------------------------------------------------------- ...
随机推荐
- python 私有属性的作用
python 私有属性的作用 class Player(): def __init__(self, name, power, skill): self.name = name self.power = ...
- 【H5】05 高阶文字排版
摘自: https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Introduction_to_HTML/Advanced_text_formattin ...
- 如何将AI模型与CAE(计算机辅助工程)结合 —— AI大模型能否用于CAE有限元分析和数值模拟仿真的工业软件领域?
引自: https://www.zhihu.com/question/611863569/answer/3271029434?utm_id=0 有限元分析中的三个要素,几何模型,本构模型和边界条件. ...
- 预处理共轭梯度算法(Preconditioned Conjugate Gradients Method)的代码实现
前文: 预处理共轭梯度算法(Preconditioned Conjugate Gradients Method) 给出代码: import numpy as np # from rllab.misc. ...
- mysql8.0 主从架构模式【0到1架构系列】
前提条件 准备3,4,5台虚拟机 祼装mysql8.0 主从架构 常见两种模式"一主多从"和"级联复制"两种,基本都很简单,都是依赖binlog日志文件进行同步 ...
- .NET 8 + Vue 3 极简 RABC 权限管理系统
前言 在日常工作中,几乎每家公司都需要一个后台管理系统来处理各种任务.为了帮助大家快速搭建这样一个系统,给大家介绍一个基于最新技术 .NET 8 和前端框架 Vue 3 实现的极简 RABC(基于角色 ...
- Docker容器暴露ip至外网
参考地址:https://blog.csdn.net/lvshaorong/article/details/69950694
- openFile(/tmp/spring.log,true) call failed. java.io.FileNotFoundException: /tmp/spring.log (Permission denied)
ERROR [main] SpringApplication: Application run failed java.lang.IllegalStateException: Logback conf ...
- Docker镜像源地址
Docker镜像源地址(1)官方镜像:https://registry.docker-cn.com(2)网易镜像:http://hub-mirror.c.163.com(3)清华大学:https:// ...
- C#/.NET/.NET Core技术前沿周刊 | 第 4 期(2024年9.1-9.8)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...