Node.js 中的排序技巧
使用计时器类对数组进行排序:
方法:排序需要访问每个元素,然后执行一些操作,这需要for循环访问这些元素。
现在在这里,我们可以使用setInterval()方法来访问所有这些元素,并执行这些操作。并且在访问过程中,我们可以使用setTimer()方法访问所有元素,并打印该时间段内数组的最小值。
setInterval()方法在每个给定的时间间隔重复或重新调度给定的函数。它有点像 JavaScript API 的window.setInterval()方法,但是不能传递字符串代码来执行它。
句法:
setInterval(timerFunction, millisecondsTime);
参数:它接受上面提到和下面描述的两个参数:
- timerFunction < 函数 >:就是要执行的函数。
- 毫秒时间<时间>:表示每次执行之间的时间间隔。
setTimeout()方法用于在等待指定的毫秒数后调度代码执行。它有点像 JavaScript API 的window.setTimeout()方法,但是不能传递字符串代码来执行它。
句法:
setTimeout(timerFunction, millisecondsTime);
参数:它接受上面提到和下面描述的两个参数:
- timerFunction < 函数 >:就是要执行的函数。
- 毫秒时间<时间>:表示每次执行之间的时间间隔。
例子:
Input: Array = [ 46, 55, 2, 100, 0, 500 ]
Output: [0, 2, 46, 55, 100, 500]
Input: Array = [8, 9, 2, 7, 18, 5, 25]
Output: [ 2, 5, 7, 8, 9, 18, 25 ]
示例 1:文件名:Index.js
const arr = [10, 50, 100, 500, 0, 200];
var arr1 = [];
function sortIt() {
for (let i of arr) {
// setTimeout(()=> console.log(i), i)
setTimeout(()=> {
arr1.push(i);
arr.splice(arr.indexOf(i), 1);
if(arr.length === 0){
console.log(arr1);
}
}, i)
}}
sortIt();
输出:
[ 0, 10, 50, 100, 200, 500 ]
示例 2:文件名:Index.js
const arr = [10, 50, 100, 500, 0, 200];
var arr1 = [];
function sortIt() {
for (let i of arr) {
// setTimeout(()=> console.log(i), i)
setTimeout(()=> {
arr1.push(i);
i = Math.max.apply(null, arr);
// arr.splice(arr.indexOf(i), 1);
if(arr1.length === arr.length) {
console.log(arr1);
}
}, i)
}}
sortIt();
使用以下命令运行Index.js文件。
node index.js
输出:
[ 0, 10, 50, 100, 200, 500 ]