コード:
var some_var = [/*.......*/];
var compare_var;
for (var i = 0; i < some_var.length - 1; i++){
if (some_var[i] <= compare_var && compare_var < some_var[i + 1]){
return some_var[i];
}
}
の 1 つの値some_var
は 30 で、次の値は 40 で、次の値は 50 でcompare_var
42 です。
42 は 40 未満ではないため、42 未満であっても 30 を返しません。これは、42 未満であり、42 が 50 未満であるため、40 を返すことも意味します。
編集:
誰かが言及したように、コード変換は SE.so には最適ではありません。明確にするために、ルビーでいくつかの異なることを試しました。私は JavaScript の経験が豊富なので、質問を表現する最善の方法は、必要なものを JavaScript で記述して、それがどのように Ruby に変換されるかを確認することでした。答えてくれてありがとう