javascript - 3维数组在javascript中拆分

标签 javascript arrays split

我对拆分有疑问。我有一个很长的字符串,我想将它填充到 3 维数组中。

var str = "normal/zapnout-0-1/vypnout-1-1%nocni/zapnout-2-1/vypnout-3-1*list/film-4-1/manual-5-1/auto-6-1*obyvak/světlo-7-1/krb-8-1/žaluzie-9-1/televize-10-1%světlo-11-1/okno-12-1%světlo-13-1/okno-14-1%pokoj/světlo-15-1";
 var res = str.split("*");
 var res2 = new Array();
 var res3 = new Array();

 for (var i = 0; i < res.length; i++) {
     res2[i] = res[i].split("%");
     for (var t = 0; t < res2[i].length; t++) {
         res3[i]= new Array();
         res3[i][t]=res2[i][t].split("/");
     }
 }
 document.getElementById("demo2").innerHTML = res3;

但问题是,res3 的结果是:

,nocni,zapnout-2-1,vypnout-3-1,list,film-4-1,manual-5-1,auto-6-1,,,,pokoj,světlo-15-1

不知道是什么问题

最佳答案

试试这个:

 var str = "normal/zapnout-0-1/vypnout-1-1%nocni/zapnout-2-1/vypnout-3-1*list/film-4-1/manual-5-1/auto-6-1*obyvak/světlo-7-1/krb-8-1/žaluzie-9-1/televize-10-1%světlo-11-1/okno-12-1%světlo-13-1/okno-14-1%pokoj/světlo-15-1";
 var res = str.split("*");
 for(var i=0; i< res.length;i++){
     res[i] = res[i].split("%");
     for(var j=0;j< res[i].length;j++){
         res[i][j] = res[i][j].split("/");
     }
 }
 console.log(res);

同样让您知道,您的代码存在重新初始化 res3[i] 而不是使其成为 res3[i][t] 的问题。这应该是您的代码:

 var str = "normal/zapnout-0-1/vypnout-1-1%nocni/zapnout-2-1/vypnout-3-1*list/film-4-1/manual-5-1/auto-6-1*obyvak/světlo-7-1/krb-8-1/žaluzie-9-1/televize-10-1%světlo-11-1/okno-12-1%světlo-13-1/okno-14-1%pokoj/světlo-15-1";
var res = str.split("*");
var res2 = new Array();
var res3 = new Array();

for (var i = 0; i < res.length; i++) {
    res2[i] = res[i].split("%");
    res3[i] = new Array();
    for (var t = 0; t < res2[i].length; t++) {
        res3[i][t]= new Array();
        res3[i][t]=res2[i][t].split("/");
    }
}

但请停止以这种方式使用变量,因为对于大型应用程序,这将成为内存 killer 。

关于javascript - 3维数组在javascript中拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22282967/

相关文章:

c# - 如何使用C#将WAV文件拆分为两个或更多部分

javascript - 用于 javascript 或 jquery 的开源拼写检查

c++ - 请用指针解释数组

c - 指针给出意想不到的值

arrays - 从数组中多次使用 SKSpriteNode(s)

python - 如何使用 numpy 将矩阵分成 4 个 block ?

javascript - RegExp 适用于 String.match,但不适用于 String.split

javascript - 具有多个 Y 轴的 VizFrame 组合图表

javascript - 检查时隙之间的时间

javascript - Chrome 扩展程序从页面获取电子邮件