从js数组中删除双引号

时间:2019-08-01 16:56:28

标签: javascript jquery arrays split

我有这种类型的数组

[[["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;
});

3 个答案:

答案 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)