📌  相关文章
📜  如何在 Node.js 中不使用循环对数组进行排序?

📅  最后修改于: 2022-05-13 01:56:54.272000             🧑  作者: Mango

如何在 Node.js 中不使用循环对数组进行排序?

setInterval()方法在每个给定的时间间隔重复或重新调度给定的函数。它有点像 JavaScript API 的window.setInterval()方法,但是不能传递字符串代码来执行它。

句法:

setInterval(timerFunction, millisecondsTime);

参数:它接受上面提到和下面描述的两个参数:

  • timerFunction < 函数 > 要执行的函数。
  • 毫秒时间<时间>:表示每次执行之间的时间间隔。

setTimeout()方法用于在等待指定的毫秒数后调度代码执行。它有点像 JavaScript API 的window.setTimeout()方法,但是不能传递字符串代码来执行它。

句法:

setTimeout(timerFunction, millisecondsTime);

参数:它接受上面提到和下面描述的两个参数:

  • timerFunction < 函数 > 要执行的函数。

  • millisecondsTime < Time > 表示每次执行之间的时间间隔。

例子:

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 ]

方法:排序需要访问每个元素,然后执行一些操作,这需要for循环访问这些元素。

现在在这里,我们可以使用setInterval()方法来访问所有这些元素,并执行这些操作。

下面的代码用 JavaScript 语言说明了上述方法。

文件名:Index.js

const arr = [46, 55, 2, 100, 0, 500];
const l = arr.length;
var arr1 = [];
var j = 0;
  
var myVar1 = setInterval(myTimer1, 1);
  
function myTimer1() {
   const min = Math.min.apply(null, arr);
   arr1.push(min);
  
   // arr[arr.indexOf(min)]=Math.max.apply(null, arr);
   arr.splice(arr.indexOf(min), 1);
   j++;
     
   if(j == l){
     clearInterval(myVar1);    
     console.log(arr1);
   }
}

在在线编译器上运行Index.js文件或按照以下步骤操作:

node index.js

输出:

[0, 2, 46, 55, 100, 500]