1

こんにちは、配列 (arr1) とテスト値 (test) が与えられた場合、javascript でロジックを書くのに少し問題があります。

arr1 = [5, 12, 19, 27]
test =15

test=15 の場合、値 3 を返します。ここで、test<5 = 1、5< test >12=2 などです。test は、1 から 31 までの任意の整数にすることができます。

ありがとう!

4

2 に答える 2

0

これを試して:

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
于 2013-01-30T08:51:04.240 に答える
0

単純な for サイクルを実行できます。数値が i 番目のセルの数値よりも小さい場合は、i を再試行します。

i=0 から始めると、if-else ステートメントは 3 つしか実行できません。

于 2013-01-30T08:50:22.667 に答える