我希望能够从一个数组中获取一个字符串,并使用一个关联数组获取该主题的一些统计信息。
var subjects = ['Biology','English'];
var HBio = [5.8,8.6,7.4,9.5,10.4,8.8,9.2,9.9,7.2,7.1,7.8,6.5,1.5,2.2];
var h = new Object();
h['Biology'] = HBio;
array=h.Subjects[0];
问题是Subjects [0]的字符串有引号,所以我不能使用array = h.Subjects [0],有什么方法可以解决这个问题吗?或者我应该尝试别的吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
而不是h.Subjects[0]
你写了这个h[subjects[0]]
,那么你的代码将是
var subjects = ['Biology','English'];
var HBio = [5.8,8.6,7.4,9.5,10.4,8.8,9.2,9.9,7.2,7.1,7.8,6.5,1.5,2.2];
var h = new Object();
h['Biology'] = HBio;
array=h[subjects[0]]; //result will be [5.8, 8.6, 7.4, 9.5, 10.4, 8.8, 9.2, 9.9, 7.2, 7.1, 7.8, 6.5, 1.5, 2.2]
这背后的原因是,当你写h.subjects[0]
时。这意味着您h
是一个拥有关键主题'它包含一个数组。但实际上我们有h
一个具有关键生物学的对象,它包含一个值数组,而subjects
是一个包含主题名称的数组。因此,要使用两者获取值,首先我们必须从subjects
数组中获取值subjects[0]
,然后将此值放在h
中,如此h[subjects[0]]
。现在它将做的是首先获得0个主题索引,即“生物学”和“生物学”。然后从对象Biology
获取密钥h
的值。
我希望它能清除问题,值得你。
谢谢