繁体   English   中英

将一维字符串数组转换为二维数组

[英]Convert a 1D array of strings into a 2D array

我在这里有点新手,所以我会直接跳到我遇到的问题的例子中:

我想转换一下:“ cat@dog%arm@hand%tree@apple...

进入这个:

cat | dog
arm | hand
tree| apple
..etc

如,电子表格中的2列或2D数组。 使用隔离字符串并不困难,正是数组操作让我感到难过。

这是一次尝试:`

function key_abb(input) {
  if(input.map) { 
    return input.map(key_abb);
  }else {
    var temp = input.toString();
    temp = temp.replace("abbreviated-name=", "");
    temp = temp.replace("name=", "");
    return temp;
  }
}`

输入是一个输入范围,格式如下:

|abbreviated-name="cat"  name="dog"  |
|abbreviated-name="arm"  name="hand" |...

不幸的是,这仍然只是返回同一列中的两个字符串,所以唯一完成的是删除了额外的文本,我不知道如何创建我想要的输出数组。 谢谢!

干得好:

 var str = 'cat@dog%arm@hand%tree@apple'; var data = str.split('%'); for (var i = 0; i < data.length; i++) { data[i] = data[i].split('@'); } console.log(data); 

结果是:

[
    ["cat", "dog"],
    ["arm", "hand"],
    ["tree", "apple"]
]

这是使用Array.map()的另一个选项:

 var str = 'cat@dog%arm@hand%tree@apple'; var data = str.split('%').map(function(item) { return item.split('@'); }); console.log(data); 

暂无
暂无

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

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