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

JavaScriptで配列内の3番目に大きい数を見つける


最初で唯一の引数として数値の配列を受け取るJavaScript関数を作成する必要があります。

この関数のタスクは、配列から3番目に大きい数を選択して返すことです。また、配列に3番目の最大数が含まれていない場合は、配列から最大数を返すだけです。

例-

入力配列が-

の場合
const arr = [34, 67, 31, 87, 12, 30, 22];

その場合、出力は-

になります。
const output = 34;

このためのコードは-

になります
const arr = [34, 67, 31, 87, 12, 30, 22];
const findThirdMax = (arr = []) => {
   const map = {};
   let j = 0;
   for (let i = 0, l = arr.length; i < l; i++) {
      if(!map[arr[i]]){
         map[arr[i]] = true;
      }else{
         continue;
      };
      arr[j++] = arr[i];
   };
   arr.length = j;
   let result = -Infinity;
   if (j < 3) {
      for (let i = 0; i < j; ++i) {
         result = Math.max(result, arr[i]);
      }
      return result;
   } else {
      arr.sort(function (prev, next) {
         if (next >= prev) return -1;
         return 1;
      });
      return arr[j - 3]
   };
};
console.log(findThirdMax(arr));

出力

そして、コンソールの出力は-

になります
34

  1. JavaScriptで配列内の最初の連続していない番号を見つける

    問題 数値の配列を受け取るJavaScript関数を作成する必要があります。関数は、前の要素の自然な後継ではない配列から最初の要素を返す必要があります。 これは、配列にそのような要素が少なくとも1つ存在する場合、前の要素の+1ではない要素を返す必要があることを意味します。 例 以下はコードです- const arr = [1, 2, 3, 4, 6, 7, 8]; const findFirstNonConsecutive = (arr = []) => {    for(let i = 0; i < arr.length - 1; i++){  

  2. JavaScriptを使用して配列から唯一のアウトシーケンス番号を検索する

    問題 数値の配列を受け取るJavaScript関数を作成する必要があります。配列は昇順/昇順で並べ替えられ、配列内の1つの要素のみが順序どおりではありません。 関数はその要素を見つけて返す必要があります。 例 以下はコードです- const arr = [1, 2, 3, 4, 17, 5, 6, 7, 8]; const findWrongNumber = (arr = []) > {    for(let i = 0; i < arr.length - 1; i++){       const el = arr[i]; &