Node.js 中数组排序

2025 年 2 月 25 日 | 阅读 4 分钟

本文将介绍 Node.js 中 **排序数组** 的语法、参数和示例。

定时器类的 **setInterval()** 方法可用于对数组进行排序。使用此方法,排序操作会在预定的时间间隔内执行,方法是访问数组的每个元素。与 JavaScript API 中的 **window.setInterval()** 方法相比,Node.js 中的 **setInterval()** 方法会在每个定义的时间间隔重复或重新安排给定的函数。但是,它不允许提供用于执行的代码字符串。相反,必须将函数引用提供给 setTimer() 函数,该函数可用于对数组进行排序,并在给定时间间隔内通过访问数组的每个元素来实现其最小值。

语法

它具有以下语法:

参数

  • timerFunction: 此函数将在计时器到期时执行。在经过指定的延迟(以毫秒为单位)后,将调用它。
  • millisecondsTime: 计时器在调用 **timerFunction** 之前应等待的毫秒数。如果此参数留空,则使用值 0,表示函数在当前事件循环结束后立即调用。

示例 1

让我们看一个示例来说明 Node.js 中的 **setTimeout()** 方法。

输出

 
The Sorted Array elements: [ 17, 28, 38, 47, 58, 79 ]   

说明

在此示例中,代码使用 setTimeout 对名为 **“arr”** 的数组进行排序,以根据每个元素的值模拟延迟。它首先定义一个名为 **SortedArray** 的空数组来包含已排序的元素。sortIt 方法遍历 arr 中的每个元素,根据每个元素的值分配一个超时。在超时函数内,将元素推送到 SortedArray 并从“arr”中删除。一旦所有元素都已处理并移至 SortedArray,最终排序后的数组就会被记录到控制台。通过模拟与每个元素值成比例的延迟,此方法成功地对数组进行了排序。

示例 2

让我们看另一个示例来说明 Node.js 中的 **setTimeout()** 方法。

输出

 
Current Sorted Array elements: [ 10 ]
Current Sorted Array elements: [ 10, 18 ]
Current Sorted Array elements: [ 10, 18, 28 ]
Current Sorted Array elements: [ 10, 18, 28, 35 ]
Current Sorted Array elements: [ 10, 18, 28, 35, 59 ]
Current Sorted Array elements: [ 10, 18, 28, 35, 59, 73 ]
The Sorted Array elements are: [ 10, 18, 28, 35, 59, 73 ]   

说明

在此示例中,此代码演示了如何使用 setTimeout 对数组进行排序,以模拟基于时间的排序过程。最初存储已排序元素的数组是数组“a”和空数组 SortedArray。通过调用 **movingSmallestElement** 函数开始排序,该函数递归地查找数组中的最小元素,设置依赖于该元素值的超时,然后将该元素推送到 SortedArray。此函数由 **sortIt** 函数调用。在每次插入后,都会记录 SortedArray 的当前状态,并从数组中提取最小元素。元素将被排序并移至 SortedArray,直到它们完全排序。届时,将记录最终排序后的数组。