Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将二维数组拆分为三维数组JavaScript_Javascript_Arrays - Fatal编程技术网

将二维数组拆分为三维数组JavaScript

将二维数组拆分为三维数组JavaScript,javascript,arrays,Javascript,Arrays,我有一些数据,我想拆分两次。数据如下所示: var data = ['a1 b1 c1', 'a2 b2 c2Xa3 b3 c3Xa4 b4 c4', 'a5 b5 c5', 'a6 b6 c6Xa7 b7 c7', 'a8 b8 c8']; 作为第一个分隔符,我使用“X”字符,这很好: var firstSplit = new Array(new Array()); for(var i = 0; i < data.length; i++) firstSplit[

我有一些数据,我想拆分两次。数据如下所示:

var data = ['a1 b1 c1', 'a2 b2 c2Xa3 b3 c3Xa4 b4 c4', 'a5 b5 c5', 'a6 b6 c6Xa7 b7 c7', 'a8 b8 c8'];
作为第一个分隔符,我使用“X”字符,这很好:

var firstSplit = new Array(new Array());
    for(var i = 0; i < data.length; i++)
        firstSplit[i] = data[i].split('X');
var firstSplit=newarray(newarray());
对于(变量i=0;i
但是,当我使用元素之间的空格作为分隔符时,我在第二次拆分的行上得到了“uncaughttypeerror:cannotsetproperty'0'ofundefined”

var secondSplit = new Array(new Array(new Array()));
for(var i = 0; i < firstSplit.length; i++) {
    for(var j = 0; j < firstSplit[i].length; j++)
        secondSplit[i][j] = firstSplit[i][j].split(' ');
    }
var secondSplit=newarray(newarray)(newarray());
对于(var i=0;i
Array.map是一种更好的方法

var数据=['a1 b1 c1','a2 b2 c2Xa3 b3 c3Xa4 b4 c4','a5 b5 c5','a6 b6 c6Xa7 b7 c7','a8 b8 c8'];
var result=data.map((str)=>{
返回str.split(“”);
});

控制台日志(结果)
使用
.push
将每个元素推送到结果数组中

var数据=['a1 b1 c1','a2 b2 c2Xa3 b3 c3Xa4 b4 c4','a5 b5 c5','a6 b6 c6Xa7 b7 c7','a8 b8 c8'];
var firstSplit=新数组(new Array());
对于(变量i=0;iconsole.log(secondSplit)
您可以先按
X
进行拆分,然后按空格映射拆分值的结果

var数据=['a1 b1 c1','a2 b2 c2Xa3 b3 c3Xa4 b4 c4','a5 b5 c5','a6 b6 c6Xa7 b7 c7','a8 b8 c8'],
结果=data.map(a=>a.split('X').map(b=>b.split(''));
控制台日志(结果)
.as控制台包装{max height:100%!important;top:0;}
将空格转换为(-),然后工作吗

var str;
var firstSplit = new Array(new Array());
for(var i = 0; i < data.length; i++){
str = data[i].replace(/\s+/g, '-');
    firstSplit[i] = str.split('-');
}
var-str;
var firstSplit=新数组(new Array());
对于(变量i=0;i
期望的结果是什么?每个元素都应该是一个单独的元素,但他们已经回答了这个问题。无论如何谢谢你!