我有一系列的单词 - 我的刺激 - 它们会出现在屏幕上。然而,每个单词都有另一个“条件”,即它们是,类别A,类别B或类别C.这可能很简单,但我找不到答案而且坚持下去。 我的最终目标是在每次运行脚本时将类别随机分配给刺激。
var stim = [ "AEROPLANE", "TRAIN", "CAR", "BIKE", "WALKING"];
在这里,我希望AIRPLANE有类别,TRAIN类别和其他类别。 我想过这样的事情(或整数而不是字母):
var stim = [ ["AEROPLANE", A], ["TRAIN", B], ["CAR", C], ["BIKE", C], ["WALKING",C] ];
但这不起作用。如果我有类别,我将如何访问它们以编写代码响应?
这是一个呈现刺激的脚本(每个按键上都有一个新的):
$(function(){
$(document).keypress(function(e){
if ($(e.target).is('input, textarea')) {
return;
};
if (e.which === 97 || e.which === 108) {
new_word = w_stim[Math.floor(Math.random() * stim.length)];;
$("#abc").text(new_word);
};
});
});
答案 0 :(得分:1)
制作一个对象数组:
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小提琴: http://jsfiddle.net/pJ6X2/
答案 1 :(得分:1)
另一种选择是
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)]);