こんにちは、配列 (arr1) とテスト値 (test) が与えられた場合、javascript でロジックを書くのに少し問題があります。
arr1 = [5, 12, 19, 27]
test =15
test=15 の場合、値 3 を返します。ここで、test<5 = 1、5< test >12=2 などです。test は、1 から 31 までの任意の整数にすることができます。
ありがとう!
こんにちは、配列 (arr1) とテスト値 (test) が与えられた場合、javascript でロジックを書くのに少し問題があります。
arr1 = [5, 12, 19, 27]
test =15
test=15 の場合、値 3 を返します。ここで、test<5 = 1、5< test >12=2 などです。test は、1 から 31 までの任意の整数にすることができます。
ありがとう!
これを試して:
var arr1 = [5, 12, 19, 27];
var test = 15;
var i;
for(i = 0; i < arr1.length && test > arr1[i]; i++);
console.log(i+1);
ログ3
。
あなたのタイトルには「等間隔」と書かれていますが、そうであると思われる場合は、配列にわずかな間違いがあります(27
する必要があります26
)。
ただし、配列が等間隔である場合は、ループなしでこれを行うことができます。
// Assuming the array = [5, 12, 19, 26];
var test = 15;
console.log(Math.ceil((test - 5)/7)+1);
だから基本的に:
Math.ceil((test - startingNumber) / spacing)+1
単純な for サイクルを実行できます。数値が i 番目のセルの数値よりも小さい場合は、i を再試行します。
i=0 から始めると、if-else ステートメントは 3 つしか実行できません。