2017-04-18 65 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

謝謝你給我看這:)我現在有了更好的理解 –