在javascript中将一串坐标对转换为坐标对的数组对象

时间:2012-02-14 17:38:27

标签: javascript arrays string

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

4 个答案:

答案 0 :(得分:2)

var coordinateArray = JSON.parse('[' + yourCoordinateString + ']');

答案 1 :(得分:1)

您可以借用JSON.parse ...

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

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

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

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

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

答案 2 :(得分:0)

JSON.parse('['+[1,1], [2,2], [3,3]"+']');

答案 3 :(得分: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;
        }