对象数组根据布尔值true和false进行排序——js基础积累

对象数组根据布尔值true和false进行排序——js基础积累

  • 应用场景:
  • 效果图如下:
  • 根据布尔值进行排序
  • 总结:
      • 1.true的放前面——算降序排列
      • 2.true的放后面——算升序排列

应用场景:

最近在写后台管理系统的时候,遇到一个需求,就是对象数组中,某个字段是布尔值,要根据此布尔值进行排序处理。true的要放在前面,false要放在后面。

效果图如下:

在这里插入图片描述

参数如下:

[
  {
       "code": "1",
       "name": "客诉",
       "responseHours": 24,
       "defaultExecutors": [
           {
               "workOrderTypeCode": "1",
               "executorId": "ed67dac7-d167-9a9a-e865-3a0f0d4ecc49",
               "executorName": "admin",
               "jobPositionCode": "backendDevelopment",
               "jobPosition": "后端开发",
               "jobDescription": "333",
               "isMainExecutor": true,
               "creationTime": "0001-01-01T00:00:00",
               "creatorId": null,
               "id": "ba30a026-9ce5-7760-f37f-3a0f4b4ab3e6"
           }
       ],
       "id": "5c86ead8-69f6-8525-4b02-3a0f0dad5e75"
   },
   {
       "code": "2",
       "name": "悦捷",
       "responseHours": 24,
       "defaultExecutors": [
           {
               "workOrderTypeCode": "2",
               "executorId": "ed67dac7-d167-9a9a-e865-3a0f0d4ecc49",
               "executorName": "admin",
               "jobPositionCode": "frontEndDevelopment",
               "jobPosition": "前端开发",
               "jobDescription": "333",
               "isMainExecutor": true,
               "creationTime": "0001-01-01T00:00:00",
               "creatorId": null,
               "id": "03be553c-f568-b1f3-2d8f-3a0f4b4aa0f9"
           }
       ],
       "id": "5823da4d-6d90-8d21-f1cc-3a0f0db0413b"
   },
   {
       "code": "3",
       "name": "下单异常",
       "responseHours": 2,
       "defaultExecutors": [
           {
               "workOrderTypeCode": "3",
               "executorId": "0859c01b-d7a1-0830-a02c-3a0f1170134a",
               "executorName": "ceshi",
               "jobPositionCode": "frontEndDevelopment",
               "jobPosition": "前端开发",
               "jobDescription": "职责2",
               "isMainExecutor": false,
               "creationTime": "0001-01-01T00:00:00",
               "creatorId": null,
               "id": "b4c8f343-ce29-f891-8993-3a0f53f63211"
           },
           {
               "workOrderTypeCode": "3",
               "executorId": "ed67dac7-d167-9a9a-e865-3a0f0d4ecc49",
               "executorName": "admin",
               "jobPositionCode": "backendDevelopment",
               "jobPosition": "后端开发",
               "jobDescription": "职责",
               "isMainExecutor": false,
               "creationTime": "0001-01-01T00:00:00",
               "creatorId": null,
               "id": "8b67f701-9edd-d0e1-bf92-3a0f53f63211"
           }
       ],
       "id": "611446a7-b1d1-417b-6002-3a0f53f6320d"
   },
   {
       "code": "2444",
       "name": "3",
       "responseHours": 4,
       "defaultExecutors": [
           {
               "workOrderTypeCode": "2444",
               "executorId": "ed67dac7-d167-9a9a-e865-3a0f0d4ecc49",
               "executorName": "admin",
               "jobPositionCode": "backendDevelopment",
               "jobPosition": "后端开发",
               "jobDescription": "33333",
               "isMainExecutor": false,
               "creationTime": "0001-01-01T00:00:00",
               "creatorId": null,
               "id": "e4f19a49-b7e1-876e-5d75-3a0f54101520"
           },
           {
               "workOrderTypeCode": "2444",
               "executorId": "0859c01b-d7a1-0830-a02c-3a0f1170134a",
               "executorName": "ceshi",
               "jobPositionCode": "frontEndDevelopment",
               "jobPosition": "前端开发",
               "jobDescription": "44444",
               "isMainExecutor": true,
               "creationTime": "0001-01-01T00:00:00",
               "creatorId": null,
               "id": "5fbb17f5-0de6-f432-9d82-3a0f54101520"
           }
       ],
       "id": "11f111d0-db69-7e1c-f65b-3a0f54101517"
   }
]

要根据对象数组中的defaultExecutors字段中的isMainExecutor进行truefalse的排序。

根据布尔值进行排序

//下面的res是接口返回的格式,items是上面的对象数组
let tableData = res.items || [];
tableData.forEach((tab) => {
  if (tab.defaultExecutors) {
    tab.defaultExecutors = tab.defaultExecutors.sort(
      (b, a) => a.isMainExecutor - b.isMainExecutor
    );
  }
});
this.tableData = [...tableData];

总结:

1.true的放前面——算降序排列

tab.defaultExecutors = tab.defaultExecutors.sort(
  (b, a) => a.isMainExecutor - b.isMainExecutor
);

2.true的放后面——算升序排列

tab.defaultExecutors = tab.defaultExecutors.sort(
  (a, b) => a.isMainExecutor - b.isMainExecutor
);

完成!!!多多积累,多多收获!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/224816.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL:update set的坑

目录 一、问题描述 二、为何会出现这样的问题? 三、正确的方案 一、问题描述 我在修改mysql数据表时,看到下面的现象。 我表中原始数据如下: 执行了下面的修改,显示执行成功。 update user_function_record_entity set open_…

Android的启动模式

Android的四种启动模式:standard、singleTop、singleTask和singleInstance。 1.standard Android默认的启动模式是standard,每启动一个Activity,它都会在返回栈中入栈,并处于栈顶,不管这个返回栈是否存在这个activit…

Linux--环境变量

一.基本概念 * 环境变量 (environment variables) 一般是指在操作系统中用来指定操作系统运行环境的一些参数 * 如:我们在编写 C/C 代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但 是照样可以链接成功&am…

易基因:人早期胚胎发育的表观遗传调控(染色质重塑+组蛋白修饰+DNA甲基化)|深度综述

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 哺乳动物发育研究促进了对协调胚胎发生遗传、表观遗传和细胞过程的理解,并揭示了对人类胚胎发生特异性新见解。最近研究生成了人类早期胚胎发生的第一个表观遗传学图谱&#…

第二十一章总结

网络程序设计基础 网络程序设计编写的是与其他计算机进行通信的程序。Java 已经将网络程序所需要的元素封装成不同的类,用户只要创建这些类的对象,使用相应的方法,即使不具备有关的网络支持,也可以编写出高质量的网络通信程序。 …

Edge调用Aria2下载

一、准备工作 1、Edge浏览器:Windows系统自带或点击下载;   2、Aria2 gui:点击github下载或自行搜索下载其他版本; 二、启动Aria2 gui 解压下载的Aria2 gui到任意目录,点击“Aria2c启动器”或“AriaNg启动器”皆可。…

SLAM算法与工程实践——SLAM基本库的安装与使用(2):OpenCV库

SLAM算法与工程实践系列文章 下面是SLAM算法与工程实践系列文章的总链接,本人发表这个系列的文章链接均收录于此 SLAM算法与工程实践系列文章链接 下面是专栏地址: SLAM算法与工程实践系列专栏 文章目录 SLAM算法与工程实践系列文章SLAM算法与工程实践…

记1次nacos拉取不到配置问题

今天部署1套新的环境,nacos由运维部署完成,提供了3个端口 30820 31558 32239 启动的时候提示 [Nacos Config] config[dataIdredis.yml, groupDEFAULT_GROUP] is empty 我再三确认页面上确实已经配置好了 于是开启debug -401 Client not connected, c…

Jenkins+Maven+Gitlab+Tomcat 自动化构建打包,部署

环境准备Jenkins工具、环境、插件配置全局变量配置安装插件Deploy to containerMaven Integration plugin配置国内mvn源 创建maven项目 环境准备 1、安装服务 Jenkins工具、环境、插件配置 全局变量配置 Manage Jenkins>tools>JDK 安装 安装插件 Deploy to contai…

居民最低生活保障人数数据,2020-2022年数据,shp矢量及表格数据均有!

居民最低生活保障,是国家对共同生活的家庭成员人均收入低于当地最低生活保障标准,且符合当地最低生活保障家庭财产状况规定的家庭,给予最低生活保障。 基本信息. 数据名称: 居民最低生活保障人数数据 数据格式: shpexcel 数据几何类型: 面…

【Linux】stat命令使用

stat命令 stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。 著者 由Michael Meskes撰写。 stat命令 -Linux手册页 语法 stat [文件或目录] 命令选项及作用 执行令 : stat --help 执行命令结果 参数 -L、 --dereference 跟…

<JavaEE> 经典设计模式之 -- 使用阻塞队列实现“生产者-消费者模型”

目录 一、阻塞队列和“生产者-消费者模型”之间的关系 二、标准库提供了阻塞队列 三、实现自己的阻塞队列 3.1 基于数组实现普通的环形队列 3.2 将上述代码改造为线程安全 3.3 增加阻塞功能 四、使用阻塞队列实现“生产者-消费者模型” 一、阻塞队列和“生产者-消费者模…

react新旧生命周期钩子

以下的内容根据尚硅谷整理。 旧生命钩子 辅助理解: 红色框:挂载时生命钩子蓝色框:更新时生命钩子绿色框:卸载时生命钩子 挂载时 如图所示,我们可以看到,在组件第一次挂载时会经历: 构造器&a…

数据库原理: 笛卡儿积

笛卡儿积(Cartesian Product)是集合论中的一个概念,也在数据库中的查询操作中经常使用。笛卡儿积是指两个集合(或更多集合)之间所有可能的组合。如果有两个集合A和B,它们的笛卡儿积记作A B,表示…

深入理解HashMap:Java中的键值对存储利器

HashMap是Java中常用的数据结构之一,它提供了一种键值对的存储机制,适用于快速查找和检索。本文将深入探讨HashMap的概念、内部结构、工作原理以及在多线程环境下的一些问题。 1. HashMap的概念 HashMap是Java中的一种数据结构,用于存储键值…

RPC简介和grpc的使用

文章目录 Rpc基本概念RPC 机制和实现过程RPC的机制的诞生和基础概念总结下RPC执行步骤: 安装gRPC和Protobuf安装proto 服务定义gRPC 优势 gRPC入门简单使用 代码仓库 Rpc基本概念 RPC(Remote Procedure Call)远程过程调用,是一种…

学习IO的第四天

作业 : 使用两个子进程完成两个文件的拷贝&#xff0c;子进程1拷贝前一半内容&#xff0c;子进程2拷贝后一般内容&#xff0c;父进程用于回收两个子进程的资源 #include <head.h>int main(int argc, const char *argv[]) {int rd -1;if((rdopen("./01_test.c&quo…

《点云进阶》专栏文章目录

目录 一、PCL进阶篇* 二、Open3D进阶篇 一、PCL进阶篇 * PCL 最小二乘拟合二维直线PCL 最小二乘拟合空间直线PCL 计算点云的倒角距离&#xff08;Chamfer Distance&#xff09;PCL 点云配准精度评价——点到面的均方根误差PCL 可视化八叉树PCL 计算Hausdorff距离PCL 从变换矩…

生物动力葡萄酒的快速指南

虽然我们大多数人都熟悉有机酿酒和农业&#xff0c;但围绕生物动力学仍有许多困惑和神秘。无论你是否完全陌生&#xff0c;或者你已经听到一些小道消息&#xff0c;我们在这里揭开这种独特的葡萄酒生产方法的神秘面纱。 生物动力葡萄酒就是一个更全面的有机酿酒过程&#xff0c…

微服务的利与弊

一、前言 自从大多数web架构从单体演进到服务拆分&#xff0c;到微服务一统天下的几年来&#xff0c;应该没有web应用不是微服务架构的吧。最开始是阿里的doubble分层架构&#xff0c;到后来的SpringCloud全家桶&#xff0c;还有各个大厂自己定义的一套服务治理框架。微服务无…