使用日期值按单个键对对象数组进行排序
在本文中,我们将讨论使用日期值按单键对对象数组进行排序的方法,并了解以下内容:
- 什么是数组
- 什么是对象
- 什么是对象数组
- 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'
}
]
相关文章
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。
Angular 中所有 Mat 图标的列表
发布时间:2023/04/14 浏览次数:91 分类:Angular
-
本教程演示了在哪里可以找到 Angular 中所有 Mat 图标的列表以及如何使用它们。
Angular 2 中的复选框双向数据绑定
发布时间:2023/04/14 浏览次数:139 分类:Angular
-
本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。
在 AngularJS 中重新加载页面
发布时间:2023/04/14 浏览次数:142 分类:Angular
-
我们可以借助 windows.location.reload 和 reload 方法在 AngularJS 中重新加载页面。
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 AngularJS 中启用 HTML5 模式
发布时间:2023/04/14 浏览次数:150 分类:Angular
-
本文讨论如何在 AngularJS 应用程序上启用带有深度链接的 HTML5 模式。
在 AngularJs 中加载 spinner
发布时间:2023/04/14 浏览次数:107 分类:Angular
-
我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。
在 Angular 中显示和隐藏
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。
在 Angular 中下载文件
发布时间:2023/04/14 浏览次数:104 分类:Angular
-
本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。