この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。

BFE.devでのAI解答例 - JavaScript コーディング問題
37. Binary Search (unique)を実装する

function binarySearch(arr, target) {  let left = 0;  let right = arr.length - 1;    while (left <= right) {    const midIndex = Math.floor((left+right)/2);    const midValue = arr[midIndex];    if (midValue === target) {      return midIndex;    } else if (midValue < target) {      left = midIndex + 1;    } else {      right = midIndex - 1;    }  }  return -1;}

上記のコードは、二分探索を行う関数です。引数として、配列とターゲットの値を受け取ります。

leftおよびrightは、配列のインデックスであり、探索したい範囲を表します。最初は、左端のインデックスが0で右端のインデックスがarr.length - 1に設定されます。

whileループは、探索する範囲がなくなるまで続きます。midIndexmidValueは、現在の範囲の中央のインデックスとその値です。midValueがターゲット値と一致する場合、そのインデックスを返します。midValueがターゲット値より小さい場合、範囲を右側に移動します。midValueがターゲット値より大きい場合、範囲を左側に移動します。

最後に、ターゲット値が見つからなかった場合は、-1を返します。