javascript - 使用 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() 但没有运气。
解决方案
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)
推荐阅读
- react-native - 如何在 react-native 的键盘顶部显示自定义视图
- spring - 如何根据不同的工作环境提供不同的事务“超时”值
- java - 将 Android 的 JVM 更改为支持 LLVM/C 的编译器以平滑 android 之类的 ios
- java - Java Maven 无法找到或加载主类
- php - 从存储在 MYSQL 数据库中的逗号分隔字符串中显示唯一的第一项
- php - 如何从 pluck laravel 中获取价值
- angular - 开关元素的 Nativescript 数组 | 点击按钮读取值的技巧
- spring-boot - Spring boot devtools 不考虑排除属性
- javascript - 在计算年龄差异时收到警告?
- c++ - 使用 QGraphicsView 进行图像流式传输