如何将字符串表示形式转换为数组整数?

Dav*_*vid 2 javascript arrays string parsing numbers

如何将表示整数数组的单个字符串元素作为字符串转换为 Javascript 中的整数数组?

我有一个这样的字符串

var str = "["163600", "163601", "166881"]";
Run Code Online (Sandbox Code Playgroud)

我的输出应该是

[163600, 163601, 166881]
Run Code Online (Sandbox Code Playgroud)

我正在尝试的是

var myArr = JSON.parse(str)
Run Code Online (Sandbox Code Playgroud)

但结果我得到了一个字符串数组。

["163600", "163601", "166881"]
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到一个整数数组?

我正在尝试像这样进一步解析

parseInt(myArr)但这仅适用于0th索引。有没有办法获得整个阵列?

Ngu*_*ong 5

简单的方法是使用.map()创建一个新数组以及Number将每个字符串解析为数字。

var str = ["163600", "163601", "166881"];
var result = str.map(Number);
console.log(result);

/*Using `JSON.parse` first if your data is not an string array.*/
console.log(JSON.parse("[\"163600\", \"163601\", \"166881\"]").map(Number));
Run Code Online (Sandbox Code Playgroud)


更详细的解释

map()方法创建一个新数组,其中填充了对调用数组中的每个元素调用提供的函数的结果。

当用作函数时,Number(value) converts a string or other value to the Number type. 如果该值无法转换,则返回 NaN。