javascript - 根据内部数组对对象进行排序

标签 javascript jquery arrays underscore.js

我想知道如何基于每个对象内的数组来短接对象,这是我的数组对象:

var cars = {
  'Ferrari': {
    'Ascari': {color: 'Yellow', year: 2005},
    'Enzo': {color: 'Red', year: 2003}
  }
};

我想根据汽车年份对它们进行排序,所以我想要这样的输出:

var cars = {
  'Ferrari': {
    'Enzo': {color: 'Red', year: 2003}
    'Ascari': {color: 'Yellow', year: 2005},
  }
};

请让我知道该怎么做,非常感谢您的帮助:)

最佳答案

您无法对对象的属性进行排序,因为属性没有顺序。而且那也没有什么用处。迭代属性不会为您提供设置它们的顺序。

最好将 cars 作为数组并使用 sort 对它们进行排序。

var cars = {
    'Ferrari': [
        { name: 'Ascari', color: 'Yellow', year: 2005 },
        { name: 'Enzo', color: 'Red', year: 2003 }
    ]
};

cars['Ferrari'].sort((a,b) => a.year - b.year);
console.log(cars);

关于javascript - 根据内部数组对对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48730052/

相关文章:

JavaScript 中途停止执行并评估错误答案?,Console.log 是正确的

javascript - 如何使用 Javascript 在不同月份的日历中突出显示多个日期?

php - in_array 的问题,返回 false

javascript - Javascript 在新窗口中打开多个 Div 中的链接

javascript - 如何将参数从 JSP 传递到 Struts 2 操作

javascript - 在自动脚本中从网站检索 zip 文件

jquery - 手机快速点击-防止鬼焦

javascript - 使用 javascript 或 jquery 对 li 元素进行排序

C++ - 是否可以使用 random_shuffle 一次且仅一次生成数组的每个排列?

java - 将数组中的整个数组内容转入