在javascript中将字符串转换为二维数组

我正在尝试转换像这样的字符串“10 | 15 | 1,hi,-1,bye,2”,其中前两个元素10 | 15表示不同于1的字符,2.我想将它们彼此分开.实现这一目标的一种天真的方法是:
value = string.split("|");
var first = value[0];
var second = value[1];
var tobearray = value[2];
array = tobearray.split(",");

(当然,如果你知道如何以更好的方式做到这一点,我会很高兴知道).
但是,数组是一个数组,其中包含数组[0] = 1,数组[1] = hi,数组[2] = 0,数组[3] = – 1等.但是,我想获得一个二维数组,如如

array[0][0]=1,array[0][1]=hi,array[0][2]=0
array[1][0]=-1,array[1][1]=bye,array[1][2]=2

有没有办法做到这一点?

谢谢

解决方法

可以预先提取前两个元素(10 | 15).之后你就离开了:
var a = "1,2";

让我们拼凑起来,直到我们一无所有:

var result = [];

a = a.split(','); 

while(a[0]) {
    result.push(a.splice(0,3));
}

result; // => [["1","hi","0"],["-1","bye","2"]]

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...