2012-09-06 98 views
0

我相信我所要做的是在數組內聲明幾個數組。 在文本文檔,我有以下:陣列內的數組

"一","いち","one" 
"二","に","two" 
"三","さん","three" 
"四","し・よん","four" 
"五","ご","five" 

其中我想自動置於與被指定爲3個一組的物品陣列,所以例如set_one [0] [1]是「いち「,set_one [3] [2]將是」四個「,依此類推。

對於我的生活,我無法弄清楚如何從純文本文檔中逐行讀取值,更不用說嘗試自動將它們分配到數組中..所以我嘗試手動。我有:

var set_one = new Array(new Array("一", "いち","one"), new Array("二", "に","two", new Array("三", "さん","three", new Array("四", "よん・し","four", new Array("五", "ご","five"); 

其中,當document.write(set_one [3] [2]);被調用,什麼都沒有發生什麼,所以永遠......我甚至嘗試了一個for循環來查看(set_one)數組中是否存在任何東西,儘管據我所知,沒有任何東西。

在這臺Windows機器上工作起來很困難,因爲我沒有可用的調試工具,而且它沒有活動的Internet連接!我究竟做錯了什麼?有沒有更好的方法來做到這一點?是否可以自動逐行讀取數值到數組中,然後根據逗號值將值分配給各個數組?

+0

在你叫'document.write()的'什麼階段,你的JavaScript執行的?在解析和執行階段? – alex

+3

可能沒有任何反應,因爲你有幾個未封閉的括號......?! – deceze

+0

到目前爲止,我的整個腳本只是變量定義,然後是document.write()函數。 – Jamus

回答

3

您沒有正確創建陣列。例如,當你有:

new Array("二", "に","two", new Array("三", "さん","three")) 

你實際上是在創建一個單元素數組,其中第三位置本身另一個數組。無論是使用:

new Array (new Array("二", "に","two"), new Array("三", "さん","three")) 

或者在JavaScript創建陣列的簡單得多,而且容易混淆的方式:

var set_one = [ 
    [ "一","いち","one" ], 
    [ "二","に","two" ], 
    [ "三","さん","three" ], 
    [ "四","し・よん","four" ], 
    [ "五","ご","five" ] 
]; 
set_one[0][1]; // いち 
0
var set_one = [ 
["一","いち","one"], 
["二","に","two"], 
["三","さん","three"], 
["四","し・よん","four"], 
["五","ご","five"] 
];