從 JavaScript 陣列中按原始順序檢索 n 個最小數字
問題
我們需要編寫一個 JavaScript 函式,它接收一個數字 arr 和一個數字 n。
我們的函式應從陣列 arr 中檢索 n 個最小元素,而不破壞它們的相對順序。這意味著它們不應按遞增或遞減順序排列,而應保留其原始順序。
示例
以下是程式碼 −
const arr = [6, 3, 4, 1, 2];
const num = 3;
const smallestInOrder = (arr = [], num) => {
if(arr.length < num){
return arr;
};
const copy = arr.slice();
copy.sort((a, b) => a - b);
const required = copy.splice(0, num);
required.sort((a, b) => {
return arr.indexOf(a) - arr.indexOf(b);
});
return required;
};
console.log(smallestInOrder(arr, num));輸出
以下是控制檯輸出 −
[3, 1, 2]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP