我正在尝试计算动态生成的数组中的属性。数组程序是在对象内部创建的,如下所示:
state_list.push({name: state, undergrad: 0, grad: 0, total: 0, programs: []});
然后后者是这样填充的:
n = findWithAttr(state_list, 'name', state);
//n = the index of property "name" with value of "state" in state_list
if(!(program in state_list[n]["programs"])) {
state_list[n]["programs"][program] = 1;
} else {
state_list[n]["programs"][program]++;
}
接下来,我需要汇总已放置在数组中的程序数量,并希望这样做:
programs = state.programs;
console.log(programs.length);
但这返回 0。
如果我登录(程序),这是数组:
Array[0]
History, MA: 3
Info Assurance & Security, MS: 1
International Literacy, MED: 1
length: 0
__proto__: Array[0]
main.js:237
似乎它将数组中的所有程序作为一个字符串......或其他东西。我很想将它们编入索引并能够迭代它们。有什么建议么?