2017-04-18 49 views
1

如何通过执行以下操作来制作多维数组? (我究竟做错了什么?)用多维数组设置警告

var array = []; 
 

 
array["WARNING"][0] = "WARNING1"; 
 
array["WARNING"][1] = "WARNING1"; 
 

 
// This should show both the warnings 
 
console.log(array["WARNING"]);

显示错误:

{ "message": "Uncaught TypeError: Cannot set property '0' of undefined", "filename": " http://stacksnippets.net/js ", "lineno": 15, "colno": 21 }

+1

因为它是一个数组的属性,而不是你定义的。你应该真的在第一部分使用对象,而不是数组。 – epascarello

+1

我会让你的初始数组成为一个对象,使你的代码更加冗长:'logs = {warnings:[],errors:[],info:[]}'然后你可以用点符号'logs.warnings [0];' – Jay

回答

2

你应该考虑使用一个object和存储一些值之前,将数组分配到想要的属性。

即使它与array(这是一个特殊的对象)一起使用,如果只使用属性而不使用索引,我不推荐使用带数组的属性。

var object = {}; 
 

 
object["WARNING"] = []; 
 
object["WARNING"][0] = "WARNING1"; 
 
object["WARNING"][1] = "WARNING1"; 
 

 
// This should show both the warnings 
 
console.log(object["WARNING"]);

+0

谢谢你给我看这:)我现在有了更好的理解 –