我有以下功能:
function get_stoplight_color(count, position) {
console.log(count + ', ' + position);
var colors = {
'QB' : ['#8b3a25', '#ceca63', '#68c24c', '#68c24c', '#68c24c'],
'RB' : ['#8b3a25', '#ceca63', '#ceca63', '#ceca63', '#68c24c'],
'WR' : ['#8b3a25', '#ceca63', '#ceca63', '#ceca63', '#ceca63'],
'TE' : ['#8b3a25', '#ceca63', '#68c24c', '#68c24c', '#68c24c'],
'DST' : ['#8b3a25', '#68c24c', '#68c24c', '#68c24c', '#68c24c'],
'K' : ['#8b3a25', '#68c24c', '#68c24c', '#68c24c', '#68c24c']
};
console.log(colors);
if (count <= 4) return colors.position[count];
else return '#68c24c';
}
正如你所看到的,我已经在控制台上记录了几个变量,它们在那里看起来很好。但是,在运行时我收到以下错误:
未捕获的类型错误:无法读取未定义的属性“4”
(那时count
= 4。)
同样,该对象colors
显然存在,因为console.log(colors)
输出:
Object {QB: Array[5], RB: Array[5], WR: Array[5], TE: Array[5], DST: Array[5]…}
所以我希望在= 'QB' 和= 4时colors.position[count]
返回。#68c24c
position
count
为什么undefined
在这种情况下对象仍然返回?谢谢,如有必要,我会提供更多详细信息(我已经提供了我预先想到的所有内容)。