Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで元の順序で配列からn個の最小数を取得する


問題

数値arrと数値nの配列を受け取るJavaScript関数を作成する必要があります。

この関数は、相対的な順序を乱すことなく、配列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]

  1. JavaScriptを使用して数値の配列を昇順で並べ替える挿入ソートの実装

    問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数は、挿入ソートアルゴリズムを使用して、この数値の配列を昇順でソートする必要があります。 たとえば、関数への入力が 入力 const arr = [5, 8, 1, 3, 9, 4, 2, 7, 6]; 出力 const output = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 例 以下はコードです- const arr = [5, 8, 1, 3, 9, 4, 2, 7, 6]; const insertionSort = (arr = [])

  2. 指定された配列からn個の最小要素を元の順序で出力します

    たとえばk個の要素の配列が与えられた場合、プログラムはそれらの中から出現順にn個の最小要素を見つける必要があります。 Input : arr[] = {1, 2, 4, 3, 6, 7, 8}, k=3 Ouput : 1, 2, 3 Input k is 3 it means 3 shortest elements among the set needs to be displayed in original order like 1 than 2 and than 3 アルゴリズム START Step 1 -> start variables as int i, max, pos,