【问题标题】:How can I convert array string of numbers to array of numbers? (JS) [closed]如何将数字数组字符串转换为数字数组? (JS)[关闭]
【发布时间】:2021-10-14 00:38:24
【问题描述】:

我有这个数组字符串

const str = "['595', '369']";

我需要这个

const pos = [595, 369];

【问题讨论】:

  • 嗨,你试过什么?首先看看JSON.parse
  • 谁-/任何产生该字符串的人都应该产生有效的 JSON(或有效的 JS 数组)
  • @MaximeGirou 这不是 JSON

标签: javascript arrays string numbers


【解决方案1】:

通过正则表达式获取每个数字,然后将其转换为数字。

const str = "['595', '369']";
const arr = str.match(/\d+/g).map(Number);
console.log(arr)

【讨论】:

    【解决方案2】:

    使用string#replacestring#splitarray#map

    • 删除不属于列表项或, 的任何内容
    • 使用我们留下的, 将字符串拆分为单独的部分。
    • 使用.map 将数组中的每个字符串项转换为数字。

    const str = "['595', '369']";
    
    let array = str.replace(/[^0-9,]/g, "").split(",").map(Number)
    
    console.log(array)

    【讨论】:

    • 你能解释一下 /[^0-9,]/g 是什么东西吗?我的意思是它是做什么的。
    • @JakeBrasch 这是一个正则表达式,在这种情况下,它用于选择不是数字或逗号的所有内容,以便可以替换它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 2022-01-24
    相关资源
    最近更新 更多