检查一个单词是否在数组的各个子区间内

时间:2015-10-12 23:53:13

标签: javascript arrays syntax-error

我有一个单词数组(其中25个,0-24个),我想在for循环中进行测试,检查随机选择的单词是否在0-4,5-9,10-14之间等。

我该怎么做?

else if (words[i > 4 && <= 9]){}

我在for循环中尝试了该行,但它给我一个语法错误。

Uncaught SyntaxError: Unexpected token <=

2 个答案:

答案 0 :(得分:1)

您在条件中错过了左对比。将此作为条件:

i > 4 && i <= 9

但请注意,您没有对条件做任何有用的事情。您的结果类似于words[true]words[false]

<强> 更新

你现在已经详细说明了一点。如果我理解正确,你想从数组中选择一个随机单词,然后计算出它在数组中的5个区间。

在下面的例子中,间隔被索引;所以0 = 0-4,1 = 5-9,2 = 10-14等等...

&#13;
&#13;
var words = [ "Synergetic", "unsteeped", "goldcup", "coronach", "swamper", "rehearse", "rusty", "reannotation", "dunne", "unblenched", "classification", "interpolation", "toper", "grisliest.", "Rechart", "imbower", "reilluminating", "glucagon", "interassuring", "parallelepipedon", "doyenne", "neenah", "tetragram" ];

function pickARandomWordAndCheckTheInterval(){
  
  var randomIndex = Math.floor(Math.random() * words.length);

  var word = words[randomIndex]
  var interval = Math.floor(randomIndex / 5);
  
  console.log('The random word is:' + word);
  console.log('The interval is:' + interval );
  
}

pickARandomWordAndCheckTheInterval();
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

要解释它真的很简单,你只是忘了告诉语言什么需要小于或等于9。

你认为它像人类一样处理逻辑条件(我们假设在&amp;&amp;运算符之后你还在考虑我,但这不是JS解释器会做的事情。)

&amp;&amp; amp;&amp; amp;&amp;需要是一个可以评估的表达式。 <= 9不计算为值(它不被视为有效表达式,因为<=是一种二元运算符,需要两个操作数,一个在前,后一个)。

对于JS解释器,它只意味着“小于或等于9”。但是什么是“小于或等于9”?你需要告诉它“我小于或等于9”。

i > 4 && i <= 9是写这个的正确方法。