JS数组对象的正序、倒序和根据中文首字母排序

article/2025/3/15 6:15:03
//数组对象方法排序:升序
sortByKey(array,key){return array.sort(function(a,b){var x=a[key];var y=b[key];return ((x<y)?-1:((x>y)?1:0));});
},
//数组对象方法排序:降序
sortDownByKey(array,key){return array.sort(function(a,b){var x=a[key];var y=b[key];return ((x>y)?-1:((x<y)?1:0));});
},

需要排序的数据结构

let earningsRecordList = [{gainId: 0,gainName: '猪小白',gainGoods: '降温床垫',gainStatus: '已返',goodsTime: 1597048710000,gainMoney: 240.01,gainTime: 1597048710000,orderDetail:{shopId:0,shopName:'中明珠装饰',goodsName:'2020最新灯饰2020最新灯饰2020最新灯饰2020最新灯饰',goodsType:'露珠A款-【无极调光】',goodsNum:2,goodsService:'免费上门安装',orderNo:'124515169452'}
},{gainId: 1,gainName: '猪小白',gainGoods: '降温床垫',gainStatus: '未返',goodsTime: 1597135110000,gainMoney: 104.02,gainTime: 1597135110000,orderDetail:{shopId:0,shopName:'纯明珠装饰',goodsName:'2020最新灯饰2020最新灯饰2020最新灯饰2020最新灯饰',goodsType:'露珠A款-【无极调光】',goodsNum:2,goodsService:'免费上门安装',orderNo:'124515169452'}
},{gainId: 2,gainName: '猪小白',gainGoods: '降温床垫',gainStatus: '已返',goodsTime: 1597221510000,gainMoney: 356.03,gainTime: 1597221510000,orderDetail:{shopId:0,shopName:'福明珠装饰',goodsName:'2020最新灯饰2020最新灯饰2020最新灯饰2020最新灯饰',goodsType:'露珠A款-【无极调光】',goodsNum:2,goodsService:'免费上门安装',orderNo:'124515169452'}
},{gainId: 3,gainName: '猪小白',gainGoods: '降温床垫',gainStatus: '已返',goodsTime: 1597307910000,gainMoney: 333.04,gainTime: 1597307910000,orderDetail:{shopId:0,shopName:'啊明珠装饰',goodsName:'2020最新灯饰2020最新灯饰2020最新灯饰2020最新灯饰',goodsType:'露珠A款-【无极调光】',goodsNum:2,goodsService:'免费上门安装',orderNo:'124515169452'}
},{gainId: 4,gainName: '猪小白',gainGoods: '降温床垫',gainStatus: '未返',goodsTime: 1597394310000,gainMoney: 854.05,gainTime: 1597394310000,orderDetail:{shopId:0,shopName:'可明珠装饰',goodsName:'2020最新灯饰2020最新灯饰2020最新灯饰2020最新灯饰',goodsType:'露珠A款-【无极调光】',goodsNum:2,goodsService:'免费上门安装',orderNo:'124515169452'}
}]

中文首字符的降序排列

this.earningsRecordList.sort((a, b) => {return b.orderDetail.shopName.localeCompare(a.orderDetail.shopName, 'zh-Hans-CN');
})

中文首字符的升序排列

this.earningsRecordList.sort((a, b) => {return a.orderDetail.shopName.localeCompare(b.orderDetail.shopName, 'zh-Hans-CN');
})

按照gainMoney降序排列

this.sortDownByKey(this.earningsRecordList,'gainMoney');

按照gainMoney升序排列

this.sortByKey(this.earningsRecordList,'gainMoney');

Tips:
关于按照中文排序的.localeCompare()方法,W3school这样解释:
在这里插入图片描述
官网相关链接


http://chatgpt.dhexx.cn/article/7BAAb7hk.shtml

相关文章

js中数组反向、排序reverse、sort

全栈工程师开发手册 &#xff08;作者&#xff1a;栾鹏&#xff09; js系列教程1-数组操作全解 js中数组反向、排序 数组反向使用reverse函数&#xff0c;数组排序使用sort函数&#xff0c;排序函数可以传入比较函数&#xff0c;也可以修改数组圆形&#xff0c;自定义添加排序…

数组倒序排序

Array.reverse()&#xff0c;数组元素的排序排列 今天做项目的时候遇到了一个需求&#xff0c;把下单字段的时间倒序排列&#xff0c;也就是最新的时间显示在前面&#xff0c;像这样 因为这个字段是一个数组元素&#xff0c;所以就想到了让数组元素倒序排列&#xff0c;然后就…

js数组排序,数组按照某个字段正序倒序排序方法,sort()

话不多说直接看案例哈 比如后端返回了一个数组集合&#xff0c;需要吧默认选项放在第一条 let arr [{isDefault: 0},{isDefault: 0},{isDefault: 1},{isDefault: 0}]arr.sort((a,b)> a.isDefault-b.isDefault)console.log(arr,正序)输出结果&#xff1a;正序&#xff0c;从…

js-实现数组翻转(倒序)

源代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>翻转数组</title></head><body><script>var arr[1,2,3,4,5,6,7,8];var newArr [];console.log(arr);for(var iarr.length-1;…

js 数组倒序排列

1.使用reverse()函数&#xff1a; var array[我,喜,欢,你];array.reverse(); // 输出&#xff1a; ["你", "欢", "喜", "我"]2.循环遍历一一使其倒序&#xff1a; var array[我,喜,欢,你];var temp;for(let i0; i<array.length/2;…

重磅!超详细的 JS 数组方法整理出来了

作者&#xff1a;Yushia https://juejin.cn/post/6907109642917117965 数组是 js 中最常用到的数据集合&#xff0c;其内置的方法有很多&#xff0c;熟练掌握这些方法&#xff0c;可以有效的提高我们的工作效率&#xff0c;同时对我们的代码质量也是有很大影响。 一、创建数组 …

VS Code字体总是安装不上,vscode字体安装

VS Code字体安装&#xff0c;顽固版本 tmd&#xff0c;Vs Code老是把l看成i或者是1急死了首先要下载字体&#xff0c;下载好安装对应的字体&#xff0c;windows字体文件一般是ttf&#xff0c;安装好之后 这里有免费的供开发编程使用的字体 —》链接 下载好之后&#xff0c;解压…

VsCode字体颜色修改和背景图片修改 字体高亮

1.打开VS Code编辑器&#xff0c;在编辑器中设置。根据以下步骤&#xff0c;打开settin.json文件。 2.在json文件中若有代码覆盖即可没有代码直接添加下面代码。看注释可以自定义设置喜欢的颜色。 {//设置用户选中代码段的颜色"workbench.colorCustomizations": {/…

VScode字体超大怎么改回来?

VScode字体超大怎么改回来&#xff1f; 改背景图时不小心把字体设置的超大了&#xff0c;而且还是失去焦点自动保存了&#xff0c;难受… 网上一搜&#xff0c;真不好搜&#xff0c;答案有两种 借图一用&#xff08;本人比这个还严重&#xff0c;鼠标已经滚动不了了&#xff…

ubuntu系统下vscode字体显示异常(别扭)

修改办法 文件 》 首选项 》 设置 查找框中输入 Font 显示如下&#xff1a; 修改Font Family&#xff1a; 将&#xff1a;‘Droid Sans Mono’, ‘monospace’, Droid Sans Fallback’改为&#xff1a; monospace 如果windows和ubuntu是同一个账号&#xff0c;必须取消同步&…

vscode程序员推荐字体

今天推荐一款vscode字体:Anonymous-Pro 绝对的轻量 点击前往下载 GITHUB LIGHT Anonymous-Pro GITHUB LIGHT Anonymous-Pro GITHUB DARK Anonymous-Pro GITHUB DARK Anonymous-Pro 设置步骤: 1.打开vscode 2.依次到文件->首选项->设置 3.修改字体为 Anonymous P…

vscode字体/界面无意间变得超大,一招调回,完美解决

一、情况如下 在网上解决方法搜了半天&#xff0c;各种试都不顶事 &#xff0c;正准备卸载重载&#xff0c;又不甘心弄了几下&#xff0c;终于回来了&#xff0c;太好了&#xff01;&#xff01;&#xff01; 下面也将此方法分享给各位正在被这个问题困扰的家人们&#xff0c;希…

ubuntu vscode 换字体

1. 打开vscode 点击 首选项 - 设置 - 文本编辑器 - 字体 可以看到, Font Ligatures 配置字体连字或字体特性。可以是用于启用/禁用连字的布尔值&#xff0c;或用于设置 CSS "font-feature-settings" 属性值的字符串。 在 settings.json 中编辑 2. 点击编辑 json文…

vscode 字体颜色变得花里胡哨的

今天一开vscode 发现界面花花绿绿的 原本的括号颜色都变了&#xff0c;尝试重新装了&#xff0c;清空配置&#xff0c;更改主题&#xff0c;都没有效果&#xff0c;后来发现是 Bracket 惹的祸 在设置里 搜索 关掉之后&#xff0c;就恢复正常的配色了

VSCode字体

1.环境 Win 10 x64VSCode 1.25.1 x64 2.问题 VSCode字体太小&#xff0c;影响阅读。如图1所示&#xff1a; 图1 改变大小前的窗口 3.解决方法 打开“User Settings”&#xff0c;File→Preferences→Settings&#xff0c;或者快捷键“Ctrl,”&#xff0c;或者左下角齿轮图标…

vscode 字体大小和行间距设置

文件 首选项 设置 打开设置json 添加如下设置 "editor.lineHeight": 1.45, "editor.fontSize": 15

vscode更换字体

Fria Code 以Fria Code字体为例,首先下载该字体: Fira Code 字体的下载地址 下载后解压,如下图: Windows用户,安装ttf文件夹中的字体 双击字体文件,点击安装: 全部安装完,在vscode中的Font Family中,添加“Fira Code”

vscode 字体太小的问题,安装新字体

vscode很好用&#xff0c;但是字体太小了&#xff0c;尤其是linux版本&#xff0c;字都拥挤在一起&#xff1b; 1&#xff09;左侧字体小&#xff0c;可以【ctrl shift 】或者【ctrl shift - 】来控制界面整体缩放&#xff1b; 2&#xff09;右侧字体太小&#xf…

vscode字体图标

1、首先进入字体图标网站 https://www.iconfont.cn/ https://icomoon.io/ 2、选好需要的图标&#xff0c;点击生成 3、生成好之后点击下载 4、将压缩包里面的fonts文件夹复制到html文件根目录 4、打开style.css,复制这段到我们的css的style里 5、打开刚才下载的压缩包里面的…

Ubuntu18.04 替换vscode字体

Ubuntu18.04 替换vscode字体 Ubuntu18.04中vscode的字体实在是太丑了&#xff0c;空格距离极小&#xff0c;注释斜杠符又是那么的突兀&#xff0c;感观极差&#xff0c;影响心情&#xff0c;所以要换一个承受度好一些的字体。流程如下&#xff1a;首先通过git下载字体包 sudo …