[英]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.