2012-09-06 43 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"] 
];