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

JavaScriptでターゲットよりも大きい最小の文字を検索する


小文字のみを含むソートされた文字の配列が与えられたとします。そして、ターゲットレターターゲットが与えられます。

最初の引数として配列を取り、2番目の引数として文字を受け取るJavaScript関数を作成する必要があります。この関数は、指定されたターゲットよりも大きいリスト内の最小の要素を見つけることになっています。

文字も折り返されることに注意する必要があります。たとえば、ターゲットがtarget ='z'で文字=['a'、'b']の場合、答えは'a'です。

例-

入力配列と文字が-

の場合
const arr = ["c", "f", "j"];
const target = "a";

その場合、出力は-

になります。
const output: "c";

このためのコードは-

になります
const arr = ["c", "f", "j"];
const target = "a";
const findNearestLetter = (arr = [], target = '') => {
   let left = 0;
   let right = arr.length - 1;
   while (left <= right) {
      let mid = left + (right - left) / 2;
      if (arr[mid] <= target) {
         left ++;
      } else {
         right --;
      };
   };
   if (left == arr.length) {
      return arr[0];
   };
   return arr[left];
};
console.log(findNearestLetter(arr, target));

出力

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

になります
c

  1. JavaScriptのObject.assign()?

    Object.assign() このメソッドは、1つ以上のソースオブジェクトをターゲットオブジェクトにコピーするために使用されます。 ソースで「get」とターゲットで「Set」の両方を使用するため、ゲッターとセッターを呼び出します。ターゲットオブジェクトからコピーされたプロパティと値を持つターゲットオブジェクトを返します。このメソッドは、nullまたは未定義のソース値をスローしません。 構文 Object.assign(target, ...source objects); ソースオブジェクトが必要です およびターゲットオブジェクトをパラメータとして、ソースオブジェクトをターゲットオブジェク

  2. JavaScriptのnew.target

    new.targetは、関数コンストラクターがnewキーワードを使用して呼び出されたかどうかを実行時に判別できるようにするメタプロパティです。 以下は、JavaScriptのnew.targetのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=