1
JavaScriptでバイナリ検索を実装しようとしています。ターゲット要素のインデックスを返すことができますが、ターゲット値が配列に存在しないことを示すために、プログラムは-1を返していません。たとえば、[12、39、52、61、88、100]の配列があり、バイナリ検索関数にターゲット値 "200"を入力すると、 "-1"が返されませんこれを行うために私のelseステートメントを構造化したとしても、値は配列に存在しません。誰かが私が間違っていることを教えてもらえますか?前もって感謝します。バイナリ検索を実行するときに値が配列に存在しないことを正しく示す方法
マイコード:
function binarySearch(arr, target){
var start = 0;
var end = arr.length - 1;
while(start <= end){
var mid = Math.floor((start + end)/2);
if(arr[mid] < target){
start = mid + 1;
}
else if(arr[mid] === target){
return mid;
}
else if(arr[mid] > target) {
end = mid - 1;
}
else {
return -1;
}
}
}
var myArr = [12, 39, 52, 61, 88, 100];
binarySearch(myArr, 200);
返す-1関数の最後に書きます。 – Lalit