从 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