Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为数组中的元素指定条件/类别_Javascript_Jquery_Keypress - Fatal编程技术网

Javascript 为数组中的元素指定条件/类别

Javascript 为数组中的元素指定条件/类别,javascript,jquery,keypress,Javascript,Jquery,Keypress,我有一系列的单词——我的刺激——它们出现在屏幕上。然而,每个词都有另一个“条件”,也就是说,它们要么是categoryA,要么是categoryB,要么是categoryC。这可能很简单,但我找不到答案,我只能坚持下去。 我的最终目标是在每次脚本运行时将类别随机分配给刺激 var stim = [ "AEROPLANE", "TRAIN", "CAR", "BIKE", "WALKING"]; 在这里,我希望飞机有categA,火车categB和其他categC。 我考虑过这样的事情(或者用整

我有一系列的单词——我的刺激——它们出现在屏幕上。然而,每个词都有另一个“条件”,也就是说,它们要么是categoryA,要么是categoryB,要么是categoryC。这可能很简单,但我找不到答案,我只能坚持下去。 我的最终目标是在每次脚本运行时将类别随机分配给刺激

var stim = [ "AEROPLANE", "TRAIN", "CAR", "BIKE", "WALKING"];
在这里,我希望飞机有categA,火车categB和其他categC。 我考虑过这样的事情(或者用整数代替字母):

但这不起作用。如果我有类别,我将如何访问它们以获取代码响应

这是显示刺激的脚本(每个按键上都有一个新的刺激):


创建一个对象数组:

var stim = [ 
    {name:"AEROPLANE", category:"A"}, 
    {name:"TRAIN", category:"B"}, 
    {name:"CAR", category:"C"}, 
    {name:"BIKE", category:"C"}, 
    {name:"WALKING",category:"C"} 
];
然后访问以下对象:

   stim[i].name
   stim[i].category

JS Fiddle:

另一个选项是

var stim = {
  'A': ['AEROPLANE'],
  'B': ['TRAIN'],
  'C': ['CAR', 'BIKE', 'WALKING']
}

var items = stim[categoryChar];
if (undefined === items)
  console.log('no such category');
else
  console.log(items[Math.floor(Math.random() * items.length)]);

@ben_aaron很高兴看到这有帮助!不确定您熟悉但
{}
表示法是否称为对象文字表示法。
   stim[i].name
   stim[i].category
var stim = {
  'A': ['AEROPLANE'],
  'B': ['TRAIN'],
  'C': ['CAR', 'BIKE', 'WALKING']
}

var items = stim[categoryChar];
if (undefined === items)
  console.log('no such category');
else
  console.log(items[Math.floor(Math.random() * items.length)]);