提问者:小点点

用JavaScript创建数组的数组


我有以下代码,运行时会出现错误:TypeError:无法读取未定义的属性“split”
您可以在这里运行它。

var myData = "some1,some2,some3\nsome4,some5,some6\nsome7,some8,some9";
var arrayed = myData.split('\n');
var columns = arrayed.length;
var urlArray = new Array(columns);
console.log(arrayed);
var newarrayed = arrayed.split(',');
console.log(newarrayed);

我有mydata数组,我想将它转换为数组的数组,首先在\n处拆分以分离数组,然后在处拆分以创建数组中的项。因此此列表将如下所示:

[[data1,data2,data3],[data4,data5,data6],[data7,data8,data9]]

console.log(arrayed);执行类似的操作,但当我尝试使用arrayed[0][0]访问它时,它只给我第一个字母。


共1个答案

匿名用户

你没有正确地拆分字符串。您尝试拆分它们两次,但第二次失败,因为您是在数组上调用split而不是在字符串上调用split。请尝试循环访问它们。

var myData = "some1,some2,some3\nsome4,some5,some6\nsome7,some8,some9";
var arrayed = myData.split('\n');
var columns = arrayed.length;
var urlArray = new Array(columns);
console.log(arrayed);
var newarrayed = [];
for (var i in arrayed) {
    newarrayed.push(arrayed[i].split(','));
}
console.log(newarrayed);