【问题标题】:JavaScript string into multidimensional arrayJavaScript 字符串转换为多维数组
【发布时间】:2016-07-08 16:46:01
【问题描述】:

我通过 ajax 向自己传递了一串来自 php 的结果,我想将其放入 JavaScript 中的二维数组中

字符串看起来像:value1^*value2^*value3^*value4***value1^*value2^*value3^*value4

我想将 '^*' 的值拆分到维度数组的第一行,然后下一行将在 '***' 之后

所需的数组: var Text = [['value1', 'value2','value3','value4'],[value1','value2','value3','value4']];

【问题讨论】:

    标签: javascript arrays multidimensional-array


    【解决方案1】:

    您可以使用split() 将您的字符串拆分为一个字符串数组(value1^*value2^*value3^*value4value1^*value2^*value3^*value4),之后您将需要map() 在我们之前获得的每个数组中创建一个新数组。

    例子:

    var str = "value1^*value2^*value3^*value4***value1^*value2^*value3^*value4"
    
    str = str.split('***')
    
    str = str.map((value) => value.split('^*'))
    
    console.log(str)

    【讨论】:

    • 你打败了我!这是完美的。
    • 如何解释一下,以便 OP 了解发生了什么?
    • 在参数名称中使用“value”或 currentValue (mdn) 代替“index”会更容易混淆,因为它不是数组索引。
    【解决方案2】:

    你可以这样做

    var input = "value1^*value2^*value3^*value4***value5^*value6^*value7^*value8";
    
     var res = input.split('***').map(function(rowValues){
    	return rowValues.split('^*');
    })
    
    console.log(res);

    【讨论】:

      猜你喜欢
      • 2015-11-13
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      • 2012-11-17
      相关资源
      最近更新 更多