Javascript 为什么会出现未捕获的TypeError:无法读取属性';0';未定义的赋值?
我有: 这就抛出了错误Javascript 为什么会出现未捕获的TypeError:无法读取属性';0';未定义的赋值?,javascript,Javascript,我有: 这就抛出了错误 var lineItemTracker = new Array(); lineItemsTracker[i]['sales_order_line_item_id'] = result[i].sales_order_line_item_id; 如果我查一下 Uncaught TypeError: Cannot read property '0' of undefined on assign 然后我得到正确的结果。当我检查 console.log(result[i].sa
var lineItemTracker = new Array();
lineItemsTracker[i]['sales_order_line_item_id'] = result[i].sales_order_line_item_id;
如果我查一下
Uncaught TypeError: Cannot read property '0' of undefined on assign
然后我得到正确的结果。当我检查
console.log(result[i].sales_order_line_item_id);
我收到了错误信息
console.log('here ' + lineItemsTracker[i]['sales_order_line_item_id']);
产生错误。有解决方法吗?编辑:正如其他人所指出的,您有一个输入错误,但即使更正了输入错误,它也无法与您编写的代码一起工作 您试图访问无效的索引,因此出现错误。使用数组的
push
方法添加元素
lineItemsTracker[1]['sales_order_line_item_id'] = 'test';
解释:
1。当您创建一个类似var lineItemTracker=new array()的数组时代码>
lineItemTracker
创建了一个数组,但长度为0
2。接下来,当您编写lineItemsTracker[i]
时,意味着您正试图访问索引i
中的元素。由于数组的长度为零,它将返回undefined
,因为在该索引处没有定义元素
3.接下来,lineItemsTracker[i]['sales\u order\u line\u item\u id']
这几行尝试访问未定义的对象上的属性sales\u order\u line\u item\u id
,然后您将得到错误
未捕获类型错误:无法读取分配时未定义的属性“销售\订单\行\项目\ id”
你打错了。它应该是var lineItemsTracker=new Array()代码>
你的定义中没有s,但是你在引用它的任何地方都放了一个s你有一个打字错误lineItemTracker v/s LineItemsTrackerit只是一个打字错误是的,很有眼光,但是即使在纠正了打字错误之后,它也不会起作用,因为我解释的原因。你完全正确。非常感谢。答案已接受。很好地捕获Hadas,但即使在更正了输入错误后,代码也不会工作,因为这不是将数组元素添加到空数组的方式。True。不过,错误消息会有所不同,可能是您无法读取未分配的属性“sales\u order\u line\u item\u id”,因为现在lineItemsTracker[0]将是未定义的对象。其实这并不重要:汉克斯。我接受了阿加洛的回答——如果没有其他的话,他是第一个到达那里的——但是投了赞成票。
var lineItemTracker = new Array();
lineItemsTracker.push(result[i].sales_order_line_item_id);