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