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

JavaScriptを使用して配列内の特定の番号に最も近い2つの要素を検索する


問題

ソートされた整数の配列arrを最初の引数として受け取り、ターゲット番号を2番目の引数として受け取るJavaScript関数を作成する必要があります。

この関数は、配列arrに存在し、ターゲットに最も近い2つの数値の配列を返す必要があります。出力配列も昇順で並べ替える必要があります。

たとえば、関数への入力が

入力

const arr = [1, 2, 3, 4, 5];
const target = 3;

出力

const output = [2, 3];

以下はコードです-

const arr = [1, 2, 3, 4, 5];
const target = 3;
const findClosest = (arr = [], target = 1) => {
   const size = 2;
   return arr.sort((a, b) => {
      const distanceA = Math.abs(a - target)
      const distanceB = Math.abs(b - target)
      if (distanceA === distanceB) {
         return a - b
      }
      return distanceA - distanceB
   }).slice(0, size)
   .sort((a, b) => a - b);
};
console.log(findClosest(arr, target));

出力

[2, 3]

  1. JavaScriptで特定の数のギャップを持つ2つの素数を見つける

    問題 最初の引数として数値、ギャップ、2番目の引数として2つの数値の範囲配列を受け取るJavaScript関数を作成する必要があります。この関数は、ギャップの絶対差があり、指定された範囲内にあるすべての素数ペアの配列を返す必要があります。 例 以下はコードです- const gap = 4; const range = [20, 200]; const primesInRange = (gap, [left, right]) => {    const isPrime = num => {       for(let i = 2

  2. JavaScriptを使用して配列内の唯一の一意の文字列を検索する

    問題 文字列の配列を受け取るJavaScript関数を作成する必要があります。配列内のすべての文字列には同じ文字または文字の繰り返しが含まれ、1つの文字列だけに異なる文字のセットが含まれます。関数はその文字列を見つけて返す必要があります。 例 配列が-の場合 [‘ba’, 'abc', 'acb', 'bac', 'foo', 'bca', 'cab', 'cba' ] その場合、必要な文字列は「foo」です。 文字列にはスペースを含めることができ