Jul*_* S. 4 javascript arrays charts chart.js
我有这个数组,它被格式化为字符串:
['6.35', '2.72', '11.79', '183.25']
Run Code Online (Sandbox Code Playgroud)
问题是当我将其转换为数字时(使用 - 不带双引号)
array.match(/\d+/g).map(Number) || 0;
它将用于小数的点更改为逗号。然后我最终得到这个新数组:
6,35,2,72,11,79,183,25
Run Code Online (Sandbox Code Playgroud)
因此,数组中不再有 4 个项目,现在我有 8 个项目,因为我的分隔符是逗号。
关于如何在不替换点的情况下转换此数组的任何想法?
假设您有一个字符串格式的数组,您可以使用以下正则表达式来匹配所有小数,然后使用 .map(Number)
const str = "['6.35', '2.72', '11.79', '183.25']",
array = str.match(/\d+(?:\.\d+)?/g).map(Number)
console.log(array)Run Code Online (Sandbox Code Playgroud)
\d只匹配数字,它是[0-9]. 例如,在6.35 \d+匹配中6,然后35分别和点被忽略。您得到的结果是包含这些匹配项的数组。
正如其他答案中所建议的,在您的情况下使用 match 是多余的,您可以使用:
array.map(Number)
Run Code Online (Sandbox Code Playgroud)