试图将字符串数据转换为数值数据,将数据放入数组的数组(Json)

attempting to convert String data into numerical data, the drop the data into an array of arrays (Json)

本文关键字:数组 数据 Json 数值数据 字符串 转换      更新时间:2023-09-26

我有这个:

<>之前(65.94647177615738, 87.890625)(47.040182144806664, 90)(45.089035564831036, 122.34375)之前

我试图让输出看起来像这样:

<>之前"cods":[[65.94647177615738,87.890625],[47.040182144806664,90],[45.089035564831036,122.34375]]之前

任何想法?

第一个结果作为字符串返回给我,所以当我尝试将第一个对象分配给数组时,控制台显示给我:

<>之前数组是:"(65.94647177615738,87.890625)(47.040182144806664,90)(45.089035564831036,122.34375)"
var str = "(65.94647177615738, 87.890625)(47.040182144806664, 90)(45.089035564831036, 122.34375)";
str = str.slice(1,-1); // remove outermost parentheses
var arrCoord = str.split(')(');  
for (var i=0; i<arrCoord.length; i++) {
    var tarr = arrCoord[i].split(", ");
    for (var j=0; j<tarr.length; j++) {
        tarr[j] = parseFloat(tarr[j]);
    }
    arrCoord[i] = tarr;
}
// arrCoord is now populated with arrays of numbers

决定玩代码高尔夫。假设:

var sample = '(65.94647177615738, 87.890625)(47.040182144806664, 90)(45.089035564831036, 122.34375)';

:

var coords = sample
    .split(/'(([^)]+)')/)
    .filter(function(v){return v!=""})
    .map(function(v){return v.split(/[^0-9'.]+/)})