Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >对数组中的对象进行排序

对数组中的对象进行排序
EN

Stack Overflow用户
提问于 2014-09-20 16:48:24
回答 2查看 81关注 0票数 0

好的,我得到了一个数组中的对象数组。它们实际上是关联数组。所以它实际上是一个关联数组的数组。

控制台日志输出如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[array object] [object{...},object{...},object{...}, etc...]

每个对象都有名称、价格和颜色。我想要的是将它们按字母顺序和价格升序或降序排序。

我有一个将它们放到页面上的jQuery代码,但我需要插入一些代码,以便按我选择的顺序放置它们。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-09-20 17:07:48

您可以使用接受比较函数作为参数的javascript数组排序方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var a = [{name: 'a', price: 1, color: 'red'},
{name: 'b', price: 2, color: 'red'},
{name: 'c', price: 3, color: 'blue'}];
// Ascending order
a.sort(function (a, b) {
    return a.price - b.price;
});
// Descending order
a.sort(function (a, b) {
    return b.price - a.price;
});

编辑:如果您需要先按名称升序排序,然后按价格升序或降序排序,则:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Sort by name in ascending order first and then by price in ascending order
a.sort(function (a, b) {
    return a.name.localeCompare(b.name) || a.price - b.price;
});
// Sort by name in ascending order first and then by price in descending order
a.sort(function (a, b) {
    return a.name.localeCompare(b.name) || b.price - a.price;
});
票数 3
EN

Stack Overflow用户

发布于 2014-09-20 17:02:11

您可以使用Array#sort对数组进行排序。它接受一个比较器回调函数( sort算法可以用来比较两个条目,看看哪一个应该先出现),并对数组进行就地排序(例如,它不会复制数组)。契约是:使用两个条目调用比较器,如果第一个条目应该在第二个条目之前,则返回<0;如果它们相等,则返回0;如果第一个条目应该在第二个条目之后,则返回>0

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yourArray.sort(function(a, b) {
    // return <0 if a is less than b
    //         0 if a is equal to b
    //        >0 if a is greater than b
});

可以使用String#localeCompare按字母顺序比较名称;它可以方便地返回<00>0。如果名称比较没有返回0,则返回它返回的内容;如果名称比较返回0,则返回a.price - b.price

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25951114

复制
相关文章
使用 Python 对波形中的数组进行排序
假设我们采用了一个未排序的输入数组。我们现在将对波形中的输入数组进行排序。数组 'arr[0..n-1]' 以波形排序,如果 arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= .....
很酷的站长
2023/02/22
6.9K0
使用 Python 对波形中的数组进行排序
【JavaScript】js对象进行排序(对象转数组,对象转对象)
【JavaScript】js对象进行排序(对象转数组,对象转对象)1. 问题描述需求是要排序一个对象aaa = { "2\_4":{"a":1,"b":2}, "2\_16":{"a":1,"b":2}, "2\_12":{"a":1,"b":2}, "2\_8":{"a":1,"b":2}}2. 最佳答案(详细解答可以往下看)let aaa = {"2\_4":{"a":2,"b":4},"2\_16":{"a":2,"b":16},"2\_12":{"a":2,"b":12},"
读懂原理
2022/07/05
6.7K0
【JavaScript】js对象进行排序(对象转数组,对象转对象)
对list中的对象属性排序
而Arrays.sort使用的是冒泡和归并排序,默认是归并排序,所以排序速度还是很快的.
IT小马哥
2020/03/18
2.3K0
Javascript中的数组对象排序(转载)
js中用方法sort()为数组排序。sort()方法有一个可选参数,是用来确定元素顺序的函数。如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序。如:
李维亮
2021/07/08
8K0
Python中对list进行排序
很多时候,我们需要对List进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序 方法2.用built-in函数sorted进行排序(从2.4开始) 这两种方法使用起来差不多,以第一种为例进行讲解: 从Python2.4开始,sort方法有了三个可选的参数,Python Library Reference里是这样描述的 cmp:cmp specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument: "cmp=lambda x,y: cmp(x.lower(), y.lower())" key:key specifies a function of one argument that is used to extract a comparison key from each list element: "key=str.lower" reverse:reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.In general, the key and reverse conversion processes are much faster than specifying an equivalent cmp function. This is because cmp is called multiple times for each list element while key and reverse touch each element only once. 以下是sort的具体实例。 实例1: >>>L = [2,3,1,4] >>>L.sort() >>>L >>>[1,2,3,4] 实例2: >>>L = [2,3,1,4] >>>L.sort(reverse=True) >>>L >>>[4,3,2,1] 实例3: >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>L.sort(cmp=lambda x,y:cmp(x[1],y[1])) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例4: >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>L.sort(key=lambda x:x[1]) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例5: >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>import operator >>>L.sort(key=operator.itemgetter(1)) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例6:(DSU方法:Decorate-Sort-Undercorate) >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>A = [(x[1],i,x) for i,x in enumerate(L)] #i can confirm the stable sort >>>A.sort() >>>L = [s[2] for s in A] >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 以上给出了6中对List排序的方法,其中实例3.4.5.6能起到对以List item中的某一项 为比较关键字进行排序. 效率比较: cmp < DSU < key 通过实验比较,方法3比方法6要慢,方法6比方法4要慢,方法4和方法5基本相当 多关键字比较排序: 实例7: >>>L = [('d',2),('a',4),('b',3),('c',2)] >>> L.sort(key=lambda x:x[1]) >>> L >>>[('d', 2), ('c', 2), ('b', 3), ('a', 4)] 我们看到,此时排序过的L是仅仅按照第二个关键字来排的,如果我们想用
py3study
2020/01/09
2.4K0
使用asort函数对PHP数组进行升序排序
PHP是一门功能强大的语言,数组是PHP中十分常用的数据结构之一。在实际开发中,经常需要对数组进行排序。PHP提供了多个函数用于对数组进行排序,其中asort函数可以实现对数组进行升序排序。
很酷的站长
2023/08/25
4650
使用asort函数对PHP数组进行升序排序
在 JavaScript 中对数组进行排序
排序是您在学习JavaScript时将使用的众多基本方法之一。让我们回顾一下如何对不同的数据类型使用排序方法。
腾龙
2022/06/02
4.9K0
python中选择排序法对数组进行升序排序_sort函数对字符串数组排序
先说一下三者的区别 sort, sorted 是用在 list 数据类型中的排序方法 argsort 是用在 numpy 数据类型中的排序方法( numpy 里也有一个 sort 方法,下面会讲)
全栈程序员站长
2022/09/22
3K0
Swift 数组对象排序
首先我们初始化一个数组 var personList: [Person] = [] func setupData() -> Void { for _ in 0...20 { let index = Int(arc4random() % 100) let persion = Person(); persion.name = ("name\(index)") persio
赵哥窟
2020/07/28
1.5K0
使用Comparable和Comparator对Java集合对象进行排序
在现实生活中,我们可能会遇到需要对集合内的对象进行排序的场景,比如,有一个游戏得分排行榜,如先按照分数的高低由高到低排序,在分数相同的情况下,按照记录创建的时间由早到新的顺序排序。
孟君
2019/09/09
5.5K0
对list中对象按某属性排序
实际上只要一句话children.sort(Comparator.comparing(SDict::getOrderNum));
2021/03/11
4K0
对list中对象按某属性排序
委托示例(利用委托对不同类型的对象数组排序)
using System; using System.Collections.Generic; using System.Text; namespace delegateTest {     /// <summary>     /// 演示利用委托给不同类型的对象排序     /// </summary>     class Program     {         delegate bool CompareOp(object lhs,object rhs);//声明委托(注意方法
菩提树下的杨过
2018/01/22
1.7K0
js 对象数组的排序问题
参考:https://www.sitepoint.com/sort-an-array-of-objects-in-javascript/
且陶陶
2023/04/12
4.7K0
js 对象数组的排序问题
JS/TS 对数组中的对象按对象的值进行去重
举个例子:对以下数组按 lastName 的值进行去重 let listData = [ { firstName: "Rick", lastName: "Sanchez", size: 18 }, { firstName: "Morty", lastName: "Smith", size: 6 }, { firstName: "Jerry", lastName: "Smith", size: 3 }, { firstName: "Beth", lastName: "Smith", size:
Leophen
2020/10/09
7.1K0
JS/TS 对数组中的对象按对象的值进行去重
python对字典进行排序
标准的python字典是无序的。即使对(键、值)对进行了排序,也无法以保留排序的方式将它们存储在dict中。
IT工作者
2022/07/07
1.9K0
js sort方法根据数组中对象的某一个属性值进行排序
sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同.
TimothyJia
2019/11/12
12.8K0
Delphi对TStrings进行排序
最近在做一个Delphi的对接第三方支付的接口,接口签名机制模仿微信的签名方式,把参数按ascii码进行排序后再加上key进行md5的加密,因为调用接口的的Post里面的参数是TStrings类型的,但是在TStrings类型里面没有Sorted排序这个方法。所以我自己重写了一个函数用于处理这个。
Vaccae
2019/07/25
1.4K0
element-ui 对复杂对象型数组进行表单验证
1、需求场景,需要动态修改物流信息对象,并需要验证的复杂数据对象,所以我们只分析怎样验证复杂数据结构的数据,也就是上面的‘dialogFrom.options’中的对象数组。如何遍历该数组,来给每个元素添加验证呢?
用户2323866
2021/06/23
3.8K0
Django 数据查询中对字段进行排序
也可以使用两个字段进行排序,当 第一个字段值 相等时,再用 第二个 字段值 来排序
卓越笔记
2023/02/18
2.8K0
对map集合进行排序
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序。
java思维导图
2018/11/30
1.7K0
对map集合进行排序

相似问题

对javascript中对象的对象数组进行排序

60

对php中的对象数组进行排序

30

对groovy中的对象数组进行排序

272

对numpy中的对象数组进行排序?

12

对Chrome中的对象数组进行排序

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文