我有这种类型的数组
[[["80.529299450867271,7.3884550841172976"],["80.528953669541707,7.3875715810979612"],["80.528714422417153,7.3867339810469588"]]]
我想把它当作
[[[80.529299450867271,7.3884550841172976],[80.528953669541707,7.3875715810979612],[80.528714422417153,7.3867339810469588]]]
这是我尝试过的
z = a.map(function(o) {
var d = o.split(/(],)/g).map(function(b) {
console.log();
return b;
});
答案 0 :(得分:2)
Array.prototype.map()。对数组进行迭代并拆分项目。
吐口水后,我使用了另一个映射将字符串转换为数字。
const arr = [
[
[
"80.529299450867271,7.3884550841172976"
],
[
"80.528953669541707,7.3875715810979612"
],
[
"80.528714422417153,7.3867339810469588"
]
]
]
const result = [arr[0].map(i => i[0].split(',').map(Number))]
console.log(result)
答案 1 :(得分:1)
您可以映射内部数组并拆分字符串,然后将返回数组的成员转换为Numbers。
arr[0] = arr[0].map(([v]) => v.split(",").map(Number));
let arr = [[["80.529299450867271,7.3884550841172976"],["80.528953669541707,7.3875715810979612"],["80.528714422417153,7.3867339810469588"]]];
arr[0] = arr[0].map(([v]) => v.split(",").map(Number));
console.log(arr);
答案 2 :(得分:0)
您不需要删除引号-这不是问题。尝试以下操作(使用 parseFloat()):
const arr = [
[
["80.529299450867271,7.3884550841172976"],
["80.528953669541707,7.3875715810979612"],
["80.528714422417153,7.3867339810469588"]
]
]
const res = arr[0].map(e => e[0].split(',').map(el => parseFloat(el)))
console.log(res)