从 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]
广告