2012-02-14 74 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

相关问题