2012-02-14 23 views
0

我有一個格式爲「[1,1],[2,2],[3,3]」的座標對串,而且我想把它轉換成一個真正的數組對象,這樣我就有[[1,1],[2,2],[3,3]]。在JavaScript中,如何將字符串轉換爲適當的數組數組以獲得上述表示形式。一旦我完成了轉換,我是否需要添加外部的方括號,或者是在轉換後暗示的?將一串座標對轉換爲javascript中座標對的一個數組對象

回答

2
var coordinateArray = JSON.parse('[' + yourCoordinateString + ']'); 
0
JSON.parse('['+[1,1], [2,2], [3,3]"+']'); 
1

你可以借JSON.parse ...

var arr = JSON.parse('[' + my_string + ']'); 

eval()如果你知道的內容是安全的......

var arr = eval('[' + my_string + ']'); 

...或Function構造...

var arr = (new Function('return [' + my_string + '];'))(); 
+1

+1爲「功能」方式 – 2012-02-14 17:46:18

0
function coordinateStringToArray(coordinateString) { 
      //Remove the first and last brackets, then split it by the delimeter. 
      var sets = coordinateString.substr(1, coordinateString.length - 2).split('],['); 
      var arr = new Array(); 

      for (i = 0; i < sets.length; ++i) { 
       var set = sets[i]; 
       arr.push(new Array(set.substr(0,1), set.substr(2,1))); 
      } 

      return arr; 
     } 
+0

當然,上面的一個是必須更快。 – crush 2012-02-14 17:50:54

相關問題