我有一系列对象(包含我的刺激)和一个函数(见下面的摘录),它收集反应时间并推动'所有对全局变量的反应时间。
var stim = [ {name:"A", path:".../a.jpg", type: P},
{name:"A", path:".../a.jpg", type: T},
{name:"A", path:".../a.jpg", type: I}
];
var reac_arr = [];
$(function(){ ... var reac_time = t2-t1;
react_arr.push(reac_time);
};
现在我想将变量与我所有的反应时间一起添加到刺激作为对象"反应"。 所以最后我得到了所有刺激的反应时间,类型,路径和名称,如下所示:
var stim = [ {name:"A", path:".../a.jpg", type: P, reaction: 123},
{name:"A", path:".../a.jpg", type: T, reaction: 876},
{name:"A", path:".../a.jpg", type: I, reaction: 725}
];
我试过了:
stim.reaction = react_arr;
但那不起作用。
我需要这个来分析不同类型刺激的反应时间是如何不同的。我在java上找到了这个问题的答案,但这些并没有帮助解决我的问题。
答案 0 :(得分:1)
假设stim
和reac_arr
遵循相同的顺序:
stim.forEach(function (s, i) {
s.reaction = reac_arr[i];
});
这循环遍历stim
数组并添加reaction
属性,其值是reac_arr
数组的相应索引处的值到每个对象。
答案 1 :(得分:1)
在您的情况下,stim
是一个Object数组,因此stim.reaction = react_arr;
无法按预期工作,因为您实际上正在更新reaction
属性stim
1}}数组。
您想要的是从reaction
数组中的某个对象更新stim
属性。所以你应该使用:
stim[index].reaction = react_arr;
其中index
是您要在stim
中更新的对象的索引。
答案 2 :(得分:0)
你应该尝试像::
这样的东西var reac_time = t2-t1;
var temp={name:"A", path:".../a.jpg", type: P, reaction: reac_time}
react_arr.push(temp);
答案 3 :(得分:0)
var stim = [ {name:"A", path:".../a.jpg"},
{name:"A", path:".../a.jpg"},
{name:"A", path:".../a.jpg"}
];
stim.pop({name:"A", path:".../a.jpg"});
stim.push({name:"A", path:".../a.jpg", reaction: 725});
你可以迭代得到所有
的结果