簡體   English   中英

在javascript中將字符串轉換為二維數組

[英]convert a string into a two-dimensional array in javascript

我正在嘗試轉換像這樣的字符串"10|15|1,hi,0,-1,bye,2" ,其中前兩個元素10|15表示不同於1,hi,0,-1,bye,2的字符1,hi,0,-1,bye,2 我想將它們彼此分開。 實現這一目標的一種天真的方法是:

value = string.split("|");
var first = value[0];
var second = value[1];
var tobearray = value[2];
array = tobearray.split(",");

(當然,如果你知道如何以更好的方式做到這一點,我會很高興知道)。 但是, array是一個數組,其中包含array[0]=1, array[1]=hi, array[2]=0, array[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,hi,0,-1,bye,2";

讓我們拼湊起來,直到我們一無所有:

var result = [];

a = a.split(','); 

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

result; // => [["1","hi","0"],["-1","bye","2"]]
function getMatrix(input_string) 
{
    var parts = input_string.split('^');
    for (var t=0; t<parts.length; t++)
    {
        var subparts = parts[t].split('*');

        parts[t] = subparts.splice(0,subparts.length);              
    }

    return parts;
}
function getMatrix(input_string) {
    var parts = input_string.split('|');
    var subparts = parts.pop().split(',');
    var partlen = subparts.length / parts.length;
    for (var i=0; i<parts.length; i++) {
        parts[i] = subparts.splice(0,partlen);
    }
    return parts;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM