繁体   English   中英

javascript拆分而不会丢失第一个元素(不是RegEx)

[英]javascript split without losing first element (not RegEx)

我有一个字符串,其中包含用“,”和“;”分隔的一和零。

var x = "1,1,0;1,0,0;1,1,1;"; x.split(";");

这将输出仅包含两个字符串的数组:1,0,0和1,1,1。
我要把所有这些数字放在二维数组中:
1 1 0
1 0 0
1 1 1
如果有比分割字符串更聪明的方法,请告诉我。
否则,请告诉我如何解决以上问题。

  1. 您需要在字符串两边加上引号。
  2. 评论者是正确的,您的数组包含所有3个字符串。 您是否忘记了数组索引从0开始而不是1?
  3. x.split不修改x,它返回一个数组

你可能想要这样的东西

    var str = "1,1,0;1,0,0;1,1,1";
    var arr = str.split(";");

    for (var i = 0, len = arr.length; i < len; i++)
    {
        arr[i] = arr[i].split(",");
    }

并验证结果

    for (var i = 0, len = arr.length; i < len; i++)
    {
        for (var j = 0, len2 = arr[i].length; j < len2; j++)
        {
            document.write(arr[i][j] + " | ");
        }

        document.write("<br>");
    }

给定字符串:

  var x = "1,1,0;1,0,0;1,1,1";

您可以通过以下方式获得零和一个二维数组:

var st = x.split(";")
var twoDimensionalArray = st.map(function(k){
    return k.split(","); 
});

当然,由于有了JS方法链,您可以通过这种方式完成整个操作:

var twoDimTable = x.split(";").map(function(k){
  return k.split(","); 
});

结果:

 [
   ["1","1","0"],
   ["1","0","0"],
   ["1","1","1"]
 ]

好吧,得到的结果是

 [
    [1,1,0],
    [1,0,0],
    [1,1,1]
 ]

您可以执行循环,并针对数组中的每个值k做k = + k; 您将获得数字而不是字符串。 但是,当您在带有数字的运算中使用这些值时,JavaScript会为您进行强制转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM