JS实现根据数组对象的某一属性排序

JS实现根据数组对象的某一属性排序

    • 一、冒泡排序(先了解冒泡排序机制)
    • 二、根据数组对象的某一属性排序(引用sort方法排序)

一、冒泡排序(先了解冒泡排序机制)

以从小到大排序为例,冒泡排序的原理就是通过两层循环把数组中两两相邻的元素进行比较,是的大的元素放到后边,元素交换位置,从而一步步的交换元素的位置,使得最大的元素放到数组的末尾,这样内部的循环就进行了一轮,再根据外部的循环依次再把次大一点的元素放到数组的末尾,从而实现数组的逐步排序。代码如下:

// 冒泡排序
var arr = [52,3,8,57,75,2,1];
for (var i = 0; i<arr.length; i++) {for (var j =0;j<arr.length-i; j++) {if(arr[j]>arr[j+1]){var temp = arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}
}
console.log(arr); //[1, 2, 3, 8, 52, 57, 75]

二、根据数组对象的某一属性排序(引用sort方法排序)

定义一个数组

var newArray = [{name: "aaa",value: 0
},
{name: "ddd",value: 3
},
{name: "bbb",value: 1
},
{name: "eee",value: 4
},
{name: "ccc",value: 2
}];// 排序
function compare(property) {return function (a, b) {var value1 = a[property];var value2 = b[property];return value1 - value2;}
}
//打印看结果
console.log(newArray.sort(compare("value")))//根据字符串排序,不能用 - ,字符串相减得到NAN,要用<,> 来
function compare(prop) {return function (a, b) {var value1 = a.props[prop].uiValues[0]var value2 = b.props[prop].uiValues[0]if(value1 > value2){return -1;}else if(value1 < value2){return 1;}else{return 0;}}
}

在这里插入图片描述在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【EI会议征稿通知】第十届能源材料与环境工程国际学术会议(ICEMEE 2024)

第十届能源材料与环境工程国际学术会议&#xff08;ICEMEE 2024&#xff09; 2024 10th International Conference on Energy Materials and Environment Engineering 随着前9年的成功&#xff0c;ICEMEE在2024年迎来了第10届。很荣幸地宣布&#xff0c;第十届能源材料与环境…

【rust】vscode下rust-analyzer和Rust Test Lens的Lens

背景 一个粉丝问&#xff1a; 我编辑的launch.json为什么只在按F5的时候工作 按这个debug按钮就不工作&#xff1f; 那在哪改这个插件的配置文档&#xff1f;我一直用的F5 今天上午才注意到这个问题&#xff0c;比如怎么改程序的命令行参数&#xff0c;我意思是如果我非要用…

搭建sql-labs靶机环境

phpstudy&#xff08;小皮面板&#xff09; 先下载phpstudy&#xff08;小皮面板&#xff09;软件&#xff0c;方便我们快速搭建环境&#xff0c;该软件程序包集成最新的ApachePHPMySQLngix,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境.该程序不仅包括PHP调试…

D1302——高性能、低功耗并附带RAM的涓流充电实时时钟电路芯片,可提供秒、 分、小时、星期、日期、月 份和年等计时数据

D1302是一块高性能、低功耗并附带RAM的涓流充电实时时钟电路。 主要特点&#xff1a; ● 实时时钟可提供秒、 分、小时、星期、日期、月 份和年等计时数据&#xff0c;到2100 年止。一个月小于31天时可自动调整&#xff0c;且具有闰年补偿功能 ● 31X8 位通用暂存RAM ● 采用S…

对话 zkPokerdot | 妙用 ZKP 技术,为链上游戏创造公平竞技场

在数字游戏的领域中&#xff0c;无论是沉浸于传统游戏的虚拟世界&#xff0c;还是探索 Web3 游戏的前沿领域&#xff0c;玩家们都追求拥有一场公平的对决。zkPokerdot 项目应运而生。通过 ZKP 技术&#xff0c;zkPokerdot 为链上游戏提供了一个既去中心化又保障隐私的公平竞技场…

FariyGUI × Cocos Creator 入门

前言 程序员向的初探Cocos Creator结和FairyGUI的使用&#xff0c;会比较偏向FairyGUI一点&#xff0c;默认各位读者都熟练掌握Cocos Creator以及js/ts脚本编写。 初探门径&#xff0c;欢迎大佬指教&#xff0c;欢迎在评论区或私信与本人交流&#xff0c;谢谢&#xff01; 下…

dubbo源码中设计模式——负载均衡中模版模式的应用

模版模式介绍 在模板模式&#xff08;Template Pattern&#xff09;中&#xff0c;一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 使用场景&#xff1a;定…

Lua内存管理策略

传统的内存管理策略主要分为两种&#xff1a;引用计数&#xff0c;和垃圾回收。相比后者每一段时间执行一次回收周期&#xff0c;前者是对于每一个变量都维护被引用数的策略。对于Lua这种轻量化语言而言&#xff0c;占据大内存的开销是极力避免的&#xff0c;而前者的方式显然是…

C语言运用中断子系统用驱动控制led实验,c语言串口led点灯实验(驱动+应用层)

中断子系统用驱动控制led实验 驱动代码 #include <linux/init.h> #include <linux/module.h>#include<linux/interrupt.h> #include<linux/gpio.h> #include<linux/timer.h>#include<linux/of.h> #include<linux/of_irq.h> #inclu…

实现律所高质量发展-Alpha法律智能操作系统

律师行业本质上属于服务行业&#xff0c;而律师团队作为一个独立的服务单位&#xff0c;应当包含研发、市场、销售、服务等单位发展的基础工作环节。但现实中&#xff0c;很多律师团队其实并没有区分这些工作。鉴于此&#xff0c;上海市锦天城律师事务所医药大健康行业资本市场…

【SQL注入】靶场SQLI DUMB SERIES-26空格和注释被过滤

26题提示所有的空格和注释都会被过滤掉 输入?id0判断闭合方式&#xff0c;回显报错可以确定闭合方式为单引号 正常思路是需要通过注释符将后面的语句注释掉&#xff0c;但是这一关的注释符被过滤了&#xff0c;可以考虑使用将后面的语句也闭合的思路来避免引号带来的报错。输…

【leetcode】记忆化搜索

记忆化搜索 一、斐波那契数1、题目描述2、代码3、解析 二、不同路径1、题目描述2、代码3、解析 三、最长递增子序列1、题目描述2、代码3、解析 四、猜数字大小II1、题目描述2、代码3、解析 五、矩阵中的最长递增路径1、题目描述2、代码3、解析 一、斐波那契数 1、题目描述 le…

【java】小学生数学练习题目生成系统

本文章主要是CSDN-问答板块&#xff0c;有题主提出的问题&#xff0c;我这边将完整代码提供出来&#xff0c;仅供大家参考学习&#xff01; 一、效果截图 二、直接上代码 package com.example.dingtalk.question;import javax.script.ScriptEngine; import javax.script.Scrip…

PHP实践:Laravel中事件使用讲解

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

kafka生产者

1.原理 2.普通异步发送 引入pom&#xff1a; <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.0.0</version></dependency><dependency><g…

2024022202-查询优化

查询优化 概述 关系系统和关系模型是两个密切相关而有不同的概念。支持关系模型的数据库管理系统称为关系系统。但是关系模型中并非每一部分都是同等重要的&#xff0c;所以我们不苛求完全支持关系模型的系统才能称为关系系统。因此&#xff0c;我们给出一个关系系统的最小要求…

【学习总结】慢SQL治理经验总结

一、慢SQL定义 执行超过1s的SQL为慢SQL 三、慢SQl的风险 系统的响应时间延迟&#xff0c;影响用户体验 资源占用增加&#xff0c;增高了系统的负载&#xff0c;其他请求响应时间也可能会收到影响。 慢SQL占用数据库连接的时间长,如果有大量慢SQL查询同时执行&#xff0c;可能…

C语言中的assert.h:调试助手与断言详解

在C语言编程中&#xff0c;assert.h头文件提供了非常有用的断言&#xff08;Assertion&#xff09;功能&#xff0c;它主要用于开发和调试阶段&#xff0c;确保程序在运行时满足某些预期条件。如果这些条件未得到满足&#xff0c;则程序会立即停止执行&#xff0c;并打印出有关…

冷链物流追踪:Java与MySQL的协同实践

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

第三百六十一回

文章目录 1. 概念介绍2. 实现方法2.1 环绕效果2.2 立体效果 3. 示例代码4. 内容总结 我们在上一章回中介绍了"自定义SlideImageSwitch组件"相关的内容&#xff0c;本章回中将介绍两种阴影效果.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本…