首页 > 解决方案 > 使用 JavaScript 从文本中删除方括号

问题描述

我有这个 ajax 函数以纯文本形式返回数据。

        $.ajax({
            type: 'GET',
            url: "/addObstacles",
            cache: false,   
            datatype: "text/plain",
            success: function (data) {
                var obstacles = data.split('\n');
                for(var i = 0;i < obstacles.length;i++){
                    if(!obstacles[i] == ''){
                        console.log(obstacles[i]);
                    }
                }
            }
        });

控制台日志(障碍[i]):

[[90, 90], [90, 112], [100, 112], [100, 100], [200, 100], [200, 125], [240, 125], [240, 121]]

我想去掉每个元素后的所有方括号和逗号,它应该如下所示:

90,90 90,112 100,112 100,100 200,100 200,125 240,125 240,121 

因为这些数据将是动态绘制 SVG 折线的点。我尝试了许多正则表达式和 strip() 但没有运气。

标签: javascriptajaxtextbrackets

解决方案


Array#flat用方法试试

const arr = [[90, 90], [90, 112], [100, 112], [100, 100], [200, 100], [200, 125], [240, 125], [240, 121]];

const res = arr.flat();


//for your desire result
let start = res.shift();
let end   = res.pop();
let center= res.reduce((acc,b,i)=>{
   let l = i+1;
   if(l%2 == 0){
    acc.push(`${res[i-1]} ${b}`)
   }
   return acc
},[])


console.log(start+','+center.join(',')+','+end)


推荐阅读