迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

使用日期值按单个键对对象数组进行排序

作者:迹忆客 最近更新:2023/03/11 浏览次数:

在本文中,我们将讨论使用日期值按单键对对象数组进行排序的方法,并了解以下内容:

  • 什么是数组
  • 什么是对象
  • 什么是对象数组
  • JavaScript 中的 array.sort 原型是什么
  • 如何使用日期值对对象数组进行排序

在 JavaScript 中,数组将多种数据类型存储在一个变量中。与其他一些编程语言不同,JavaScript 数组可以在同一个数组中保存不同的数据类型。

数组中的每一项都一个接一个地存储在 RAM 中。

const randomArray = ["Tahseen", 1, 0.3,true];
console.log(randomArray);
// logs: Tahseen , 1 , 0.3 , true

数组中的每一项都可以通过将其索引传递给数组变量来访问,

console.log(randomArray[0]);
//logs: Tahseen

JavaScript 对象是键值对的集合。

是对象的特征或属性。同时,是相应属性的值。

const Car = {
  company: 'Tesla',
  model: 'Model 3',
  year: 2017
};

JavaScript 对象属性的值可以通过对象名称与属性名称的组合来检索;我们可以在下面的代码段中看到。

console.log(Car.company);
// logs: Tesla	

对象数组是一个数组,其中 JavaScript 数组中的每个项目都是一个对象。对象数组类似于任何其他 JavaScript 数组,区别在于每个项目都是一个 JavaScript 对象。

让我们检查以下示例以更好地理解:

const MyAppointments = [
  {
    "with":"Doctor Tauseef",
    "designation":"Dentist",  
    "reason":"Toothache",  
    "date": "2021-12-01T06:25:24Z",
  },
  {
    "with":"Abdullah Abid",
    "designation":"Software Engineer",  
    "reason":"An Idea for a App",
    "date": "2021-12-01T06:25:24Z",    
  },
  {
    "with":"Muhammad Haris",
    "designation":"Painter",  
    "reason":"Need to pain the house",
    "date": "2021-13-01T06:25:24Z",    
  },  
]

不带任何参数的 Array.prototype.sort() 用于按升序对数组进行排序。但请记住,该函数将数组元素转换为字符串,并根据它们的 UTF-16 代码单元序列进行比较,因此对于普通用户来说,它可能看起来没有排序。

const Months = ['March', 'Jan', 'Feb', 'Dec'];
Months.sort();
console.log(Months);
// logs: ["Dec", "Feb", "Jan", "March"]

或者,可以将比较函数作为回调函数提供给 array.sort,它将按照以下标准对数组进行排序:

const Numbers = [4, 2, 5, 1, 3];
Numbers.sort((x, y) => x - y);
console.log(Numbers);
// logs: [1, 2, 3, 4, 5]

你可以使用上面讨论的相同排序方法按日期对对象数组进行排序。

let MyAppointments = [
  {
    "with":"Doctor Tauseef",
    "designation":"Dentist",  
    "reason":"Toothache",  
    "appointment_date": "2021-12-01T06:25:24Z",
  },
  {
    "with":"Abdullah Abid",
    "designation":"Software Engineer",  
    "reason":"An Idea for a App",
    "appointment_date": "2021-12-09T06:25:24Z",    
  },
  {
    "with":"Muhammad Haris",
    "designation":"Painter",  
    "reason":"Need to pain the house",
    "appointment_date": "2021-12-05T06:25:24Z",    
  },  
]

MyAppointments.sort(function(x, y) {
  var firstDate = new Date(x.appointment_date),
    SecondDate = new Date(y.appointment_date);
    
  if (firstDate < SecondDate) return -1;
  if (firstDate > SecondDate) return 1;
  return 0;
});

console.log(MyAppointments);

如果第一个日期小于第二个日期,这将比较每个日期并返回 -1。如果第一个日期大于第二个日期,则返回 1;否则,它将返回 0

上面的代码段记录了以下数组。

[
  {
    with: 'Doctor Tauseef',
    designation: 'Dentist',
    reason: 'Toothache',
    appointment_date: '2021-12-01T06:25:24Z'
  },
  {
    with: 'Muhammad Haris',
    designation: 'Painter',
    reason: 'Need to pain the house',
    appointment_date: '2021-12-05T06:25:24Z'
  },
  {
    with: 'Abdullah Abid',
    designation: 'Software Engineer',
    reason: 'An Idea for a App',
    appointment_date: '2021-12-09T06:25:24Z'
  }
]

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Angular 中上传文件

发布时间:2023/04/14 浏览次数:71 分类:Angular

本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。

Angular 2 中的复选框双向数据绑定

发布时间:2023/04/14 浏览次数:139 分类:Angular

本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。

在 AngularJs 中加载 spinner

发布时间:2023/04/14 浏览次数:107 分类:Angular

我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。

在 Angular 中显示和隐藏

发布时间:2023/04/14 浏览次数:78 分类:Angular

本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。

在 Angular 中下载文件

发布时间:2023/04/14 浏览次数:104 分类:Angular

本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便