Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JavaScript 将对象数组按字母顺序排序

JavaScript 将对象数组按字母顺序排序

原创
作者头像
唐志远
发布于 2023-07-26 03:43:17
发布于 2023-07-26 03:43:17
1.1K0
举报
文章被收录于专栏:FE32 CodeFE32 Code

原文链接:JavaScript 将对象数组按字母顺序排序

这里给出三种解决方案:

1.if条件语句 + sort()

2.localeCompare() + sort()

3.Collator() + sort()

sort 用法

语法

代码语言:JavaScript
AI代码解释
复制
array.sort(compareFunction)

参数值

参数

描述

compareFunction

可选。定义替代排序顺序的函数。该函数应返回负值、零值或正值,具体取决于参数,例如: function(a, b){ return a - b } sort() 方法比较两个值时,将值发送给比较函数,根据返的(负、零、正)值对值进行排序。 <b>举例:</b> 比较 40 和 100 时,sort() 方法调用比较函数(40,100)。 该函数计算 40-100,并返回 -60(负值)。 sort 函数会将 40 排序为小于 100 的值。

sort() 方法会改变原始数组。

兼容性

Chrome、IE、Edge、Firefox、Safari、Opera 等 都支持 sort() 方法。

举例

排序数组
代码语言:JavaScript
AI代码解释
复制
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var tzy = fruits.sort();
console.log(tzy);

输出如下:

按升序排序
代码语言:JavaScript
AI代码解释
复制
var points = [66, 100, 3, 10, 250, 88, 77];
var tzy = points.sort((a, b)=> a - b);
console.log(tzy);

输出如下:

按降序排序
代码语言:JavaScript
AI代码解释
复制
var points = [66, 100, 3, 10, 250, 88, 77];
var tzy = points.sort((a, b)=> b - a);
console.log(tzy);

输出如下:

if 条件语句 + sort()

代码语言:JavaScript
AI代码解释
复制
var list = [
    { FirsName: "Aaron", LastName: "Baker" },
    { FirstName: "Bert", LastName: "Green" },
    { FirstName: "Larry", LastName: "White" },
    { FirstName: "Victor", LastName: "Fox" },
]
function sortArray(x, y) {
    if (x.LastName < y.LastName) { return -1; }
    if (x.LastName > y.LastName) { return 1; }
    return 0;
}
var tzy = list.sort(sortArray);
console.log(tzy);

输出如下:

localeCompare() + sort()

代码语言:JavaScript
AI代码解释
复制
var list = [
    { FirsName: "Aaron", LastName: "Baker" },
    { FirstName: "Bert", LastName: "Green" },
    { FirstName: "Larry", LastName: "White" },
    { FirstName: "Victor", LastName: "Fox" },
]
function sortArray(x, y) {
    return x.LastName.localeCompare(y.LastName)
}
var tzy = list.sort(sortArray);
console.log(tzy);

输出如下:

如果对象目标 key 中存在标点符号,在这种情况下,我们可以使用localeCompare()函数并将其设置为在比较期间忽略标点符号。

代码语言:JavaScript
AI代码解释
复制
var list = [
    { FirsName: "Aaron", LastName: ",Baker" },
    { FirstName: "Bert", LastName: "Green" },
    { FirstName: "Larry", LastName: ",White" },
    { FirstName: "Victor", LastName: "Fox" },
]
function SortArray(x, y){
    return x.LastName.localeCompare(y.LastName, 'fr', {ignorePunctuation: true});
}
var tzy = list.sort(sortArray);
console.log(tzy);

输出如下:

你还可以通过将 localeCompare() 函数的灵敏度设置为 base 来忽略字符串中存在的特殊字符,如下所示。

代码语言:JavaScript
AI代码解释
复制
x.LastName.localeCompare(y.LastName, 'en', { sensitivity: 'base' });

点击 传送门 查看有关 localeCompare() 函数的更多详细信息。

Collator() + sort()

代码语言:JavaScript
AI代码解释
复制
var list = [
    { FirsName: "Aaron", LastName: "Baker" },
    { FirstName: "Bert", LastName: "Green" },
    { FirstName: "Larry", LastName: "White" },
    { FirstName: "Victor", LastName: "Fox" },
]
function SortArray(x, y){
    return collator.compare(x.LastName, y.LastName);
}
var tzy = list.sort(sortArray);
console.log(tzy);

输出如下:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
于无声处听惊雷:杉数科技开发了中国人自己原生的第一个数学规划与优化算法求解器
在Mittelmann的求解器测试网页上,悄无声息的添加了COPT线性规划求解器(Simplex单纯形算法版本),两个网页显示,COPT求解器成功的占据了榜首的位置,以明显的优势将原来的CLP挤下了冠军宝座。
用户1621951
2019/06/06
1.8K0
于无声处听惊雷:杉数科技开发了中国人自己原生的第一个数学规划与优化算法求解器
解决中国“卡脖子”问题:研究求解器的少数者
蔡少伟清晰地记得,2011年夏天他去美国密歇根大学安娜堡分校参加 SAT 会议时,一眼望去,全场只有他一个中国人。
AI科技评论
2021/09/16
2.9K0
智能决策优化新引擎的“求解”之道
那时,无论科研抑或商业领域,国内自主研发的求解器都是一片空白。CPLEX、GUROBI、FICO占据了全球90%以上的商用求解器市场,IBM、达索、西门子等工业软件巨头对行业数字化的渗透力亦令人生畏。
IT创事记
2022/08/30
6840
智能决策优化新引擎的“求解”之道
干货 | 运筹学、数学规划、离散优化求解器大PK,总有一款适合你
CPLEX 是IBM公司的一个优化引擎。软件IBM ILOG CPLEX Optimization Studio中自带该优化引擎。该软件具有执行速度快、其自带的语言简单易懂、并且与众多优化软件及语言兼容(与C++,JAVA,EXCEL,Matlab等都有接口),因此在西方国家应用十分广泛。由于在中国还刚刚全面推广不久,因此应用还不是很广,但是发展空间很大。
用户1621951
2019/10/18
27.5K2
干货 | 运筹学、数学规划、离散优化求解器大PK,总有一款适合你
DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了
Google的DeepMind团队最近官宣了一篇神经网络(Neural Networks)求解MIP论文。一石激起千层浪,在国内外的运筹优化社群引起了讨论。
AI科技评论
2021/08/24
1.1K0
DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了
开源线性规划求解器(Linear Programming solver)LP_Solve和CLP的PK
前几天老板让测一下一些open source LP solver的稳定性。先看看本次上场的主角:
短短的路走走停停
2021/12/17
7.8K1
开源线性规划求解器(Linear Programming solver)LP_Solve和CLP的PK
MOSEK,一个专注而卓越的优化求解器(一)
MOSEK是由丹麦MOSEK ApS公司开发的一款数学优化求解器,也是公认的求解二次规划、二阶锥规划和半正定规划问题最快的求解器之一,广泛应用于金融、保险、能源等领域。杉数科技是MOSEK在中国大陆唯一官方授权销售商,承担中国市场的销售和售后服务工作。本篇主要介绍MOSEK的总体性能,在金融中一些解决问题的技巧和应用,杉数科技将和艾悉资产在近期推出一个介绍性文档,敬请关注!(详情请登陆 https://www.shanshu.ai/product/mosek)
用户1621951
2019/10/18
8.3K0
MOSEK,一个专注而卓越的优化求解器(一)
独家 | 高季尧:定制化优化算法的应用与威力(附PPT)
随着大数据与人工智能领域技术的发展和应用的普及,算法越发繁多复杂,需要处理的数据量也越发庞大,高性能计算能力就显得尤为重要。
数据派THU
2018/12/29
1.5K0
独家 | 高季尧:定制化优化算法的应用与威力(附PPT)
DeepMind用神经网络自动构建启发式算法,求解MIP问题
机器之心报道 编辑:杜伟、陈萍 混合整数规划(MIP)是一类 NP 困难问题,来自 DeepMind、谷歌的一项研究表明,用神经网络与机器学习方法可以解决混合整数规划问题。 混合整数规划(Mixed Integer Program, MIP)是一类 NP 困难问题,旨在最小化受限于线性约束的线性目标,其中部分或所有变量被约束为整数值。混合整数规划的形式如下: MIP 已经在产能规划、资源分配和装箱等一系列问题中得到广泛应用。人们在研究和工程上的大量努力也研发出了 SCIP、CPLEX、Gurobi 和 X
机器之心
2023/03/29
1.4K0
DeepMind用神经网络自动构建启发式算法,求解MIP问题
DeepMind与谷歌又出大招!用神经网络解决NP-hard的MIP问题
编译 | 陈彩娴 近日,DeepMind 与 Google Research 团队共同发布了一项工作,用神经网络与机器学习方法来解决混合整数规划(MIP)问题! 论文地址:https://arxiv.org/pdf/2012.13349.pdf 在解决现实中遇到的大规模混合整数规划(Mixed Integer Programming, MIP)实例时,MIP 求解器要借助一系列复杂的、经过数十年研究而开发的启发式算法,而机器学习可以使用数据中实例之间的共享结构,从数据中自动构建更好的启发式算法。 在这篇工
AI科技评论
2023/04/26
9400
DeepMind与谷歌又出大招!用神经网络解决NP-hard的MIP问题
整数规划精确算法/近似算法/(元)启发算法/神经网络反向传播等算法的区别与关联
作者:作者:@留德华叫兽 美国克莱姆森大学数学硕士(运筹学方向)、Ph.D. Candidate,欧盟玛丽居里学者,德国海德堡大学数学博士(离散优化、图像处理方向),期间前往意大利博洛尼亚大学、IBM实习半年,巴黎综合理工访问一季。现任德国某汽车集团无人驾驶部门计算机视觉研发工程师。
Piper蛋窝
2020/12/14
2K0
整数规划精确算法/近似算法/(元)启发算法/神经网络反向传播等算法的区别与关联
基于求解器的路径规划算法实现及性能分析
社会智能化的发展趋势和日益多元化的实际需求,奠定了物流运输行业对于实现智能规划的需求,车辆路径规划问题是其中的重点研究对象。
用户1621951
2023/01/05
8.2K0
基于求解器的路径规划算法实现及性能分析
NeurIPS 2024|拆解高复杂运筹问题的砖石,打破数据稀缺的瓶颈,中科大提出高质量运筹数据生成方法
论文作者刘昊洋是中国科学技术大学 2023 级硕士生,师从王杰教授,主要的研究方向为强化学习与学习优化理论及方法。他曾在 NeurIPS、ICML 和 ICLR 等人工智能顶级会议上发表论文三篇,曾获中国科学技术大学黄渝纪念奖学金、华为奖学金等荣誉。
机器之心
2025/02/14
1710
NeurIPS 2024|拆解高复杂运筹问题的砖石,打破数据稀缺的瓶颈,中科大提出高质量运筹数据生成方法
数学规划求解器性能测试之VRPTW
相比于各种各样的算法,用数学规划求解器求解一些模型可以说是非常简单而有效了。随着CLPEX、Gurobi等各种求解器的出现和求解性能的不断提升,它们在一定程度上已经成为了部分企业乃至学者的偏爱。
用户1621951
2021/11/09
3.4K1
7 Papers & Radios | NLP新范式Prompt;用神经网络解决混合整数规划问题
机器之心 & ArXiv Weekly Radiostation 参与:杜伟、楚航、罗若天 本周重要论文包括 CMU 华人博士后撰写的关于 NLP 新范式 Prompt 的综述文章;DeepMind 利用神经网络求解混合整数规划(MIP)的研究。 目录: Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing FPGA-Based Hardware Acce
机器之心
2023/03/29
7130
7 Papers & Radios | NLP新范式Prompt;用神经网络解决混合整数规划问题
普通企业的规划类项目中,OptaPlanner更适合作为APS的规划优化引擎
在企业的规划、优化场景中,均需要开发规划类的项目,实现从各种可能方案中找出相对最优方案。如排班、生产计划(包括高层次的供应链优化,到细粒度的车间甚至机台作业指令)、车辆调度等。因为这类场景需要解决的问题,均可以归约为数学中的NP-C或NP-Hard问题。而解决此类问题,均需要通用的求解器才能实现。这类求解器也称规划引擎,通过它才能从天文数字的可能方案中,找出一个可行且相对优化的方案。
Kent Zhang
2022/02/19
2.7K0
普通企业的规划类项目中,OptaPlanner更适合作为APS的规划优化引擎
干货 | 嘿,双11快递,这里有份数学规划求解器SCIP超详细的使用教程,请你收下
小伙伴们大家好呀!继上次lp_solve规划求解器的推文出来以后,大家都期待着更多求解器的具体介绍和用法。小编哪敢偷懒,这不,赶在考试周之际,又在忙里偷闲中给大家送上一篇SCIP规划求解的推文教程。快一起来看看吧。
短短的路走走停停
2019/05/14
2.4K0
OR-Tools|带你了解谷歌开源优化工具(Google Optimization Tools)
转眼间暑假已经过去一大半了,大家有没有度过一个充实的假期呢?小编这两天可忙了,boss突然说发现了一个很有趣的开源求解器:OR-Tools。经过一番了解,小编发现它对于为解决优化问题而烦恼的小伙伴真的非常有用,于是赶紧来和大家分享分享。下面让我们一起来看看OR-Tools到底是何方神圣吧!
用户1621951
2021/09/02
12.5K0
Branch and Cut、Branch and Price、Lagrange Relaxation求解TSP
在boss的吩咐下,小编在这几天恶补了Branch and Cut、Branch and Price、Lagrange Relaxation这三个算法(其中Branch and Cut、Branch and Price是精确算法,Lagrange Relaxation可以用于求下界),并拜读了西北工业大学薛力教授使用这些算法编写的求解TSP的教学代码。看完后感觉受益匪浅(怀疑人生),所以写成推文,在整理学习成果的同时,也希望对大家有所帮助。
用户1621951
2021/09/02
3.4K0
杉数科技CTO王子卓:智能决策,数字化转型新路径——为什么未来AI的重要突破是与优化算法结合|量子位·视点分享回顾
视点 发自 凹非寺 量子位 | 公众号 QbitAI 疫情加速全球产业链深度重构,市场供需两侧不确定因素增加;全球经济滞胀导致出口需求衰退,工业生产过热增长不可持续;行业整体产能过剩,产品同质化严重,绿色低碳转型迫切…… 企业的每位高管都面临着一个必答题:如何加速塑造企业韧性来抵御市场风险,实现业务增长和绿色可持续发展? 随着数据科学和人工智能技术的发展,基于“数据+算法”的决策在实际业务中凸显越来越重要的价值,企业端诉求、技术变革与基础设施完善共同推动智能决策时代到来。 据研究分析公司Gartner预测,
量子位
2022/07/27
5730
杉数科技CTO王子卓:智能决策,数字化转型新路径——为什么未来AI的重要突破是与优化算法结合|量子位·视点分享回顾
推荐阅读
于无声处听惊雷:杉数科技开发了中国人自己原生的第一个数学规划与优化算法求解器
1.8K0
解决中国“卡脖子”问题:研究求解器的少数者
2.9K0
智能决策优化新引擎的“求解”之道
6840
干货 | 运筹学、数学规划、离散优化求解器大PK,总有一款适合你
27.5K2
DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了
1.1K0
开源线性规划求解器(Linear Programming solver)LP_Solve和CLP的PK
7.8K1
MOSEK,一个专注而卓越的优化求解器(一)
8.3K0
独家 | 高季尧:定制化优化算法的应用与威力(附PPT)
1.5K0
DeepMind用神经网络自动构建启发式算法,求解MIP问题
1.4K0
DeepMind与谷歌又出大招!用神经网络解决NP-hard的MIP问题
9400
整数规划精确算法/近似算法/(元)启发算法/神经网络反向传播等算法的区别与关联
2K0
基于求解器的路径规划算法实现及性能分析
8.2K0
NeurIPS 2024|拆解高复杂运筹问题的砖石,打破数据稀缺的瓶颈,中科大提出高质量运筹数据生成方法
1710
数学规划求解器性能测试之VRPTW
3.4K1
7 Papers & Radios | NLP新范式Prompt;用神经网络解决混合整数规划问题
7130
普通企业的规划类项目中,OptaPlanner更适合作为APS的规划优化引擎
2.7K0
干货 | 嘿,双11快递,这里有份数学规划求解器SCIP超详细的使用教程,请你收下
2.4K0
OR-Tools|带你了解谷歌开源优化工具(Google Optimization Tools)
12.5K0
Branch and Cut、Branch and Price、Lagrange Relaxation求解TSP
3.4K0
杉数科技CTO王子卓:智能决策,数字化转型新路径——为什么未来AI的重要突破是与优化算法结合|量子位·视点分享回顾
5730
相关推荐
于无声处听惊雷:杉数科技开发了中国人自己原生的第一个数学规划与优化算法求解器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档