【问题标题】:Converting a string of coordinate pairs to an array object of coordinate pairs in javascript在javascript中将一串坐标对转换为坐标对的数组对象
【发布时间】:2025-12-14 17:05:02
【问题描述】:

我有一个格式为“[1,1]、[2,2]、[3,3]”的坐标对字符串,我想将其转换为真正的数组对象,这样我就有 [ [1 ,1]、[2,2]、[3,3]]。在 javascript 中,如何将字符串转换为适当的数组数组以获得上述表示。转换后,我需要添加外部方括号还是在转换后暗示?

【问题讨论】:

    标签: javascript arrays string


    【解决方案1】:
    var coordinateArray = JSON.parse('[' + yourCoordinateString + ']');
    

    【讨论】:

      【解决方案2】:

      你可以借JSON.parse...

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

      eval(),如果您知道内容是安全的...

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

      ...或Function 构造函数...

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

      【讨论】:

        【解决方案3】:
        JSON.parse('['+[1,1], [2,2], [3,3]"+']');
        

        【讨论】:

          【解决方案4】:
          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;
                  }
          

          【讨论】: