将字符串数组转换为整数数组

Mar*_*ode 5 javascript arrays

我有一个字符串数组,['2', '10', '11']并想知道将它转换为整数数组的最有效方法是什么.我应该循环遍历所有元素并将其转换为整数还是有一个函数来执行此操作?

Pra*_*lan 13

使用map()parseInt()

var res = ['2', '10', '11'].map(function(v) {
  return parseInt(v, 10);
});

document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
Run Code Online (Sandbox Code Playgroud)

更简化的ES6箭头功能

var res = ['2', '10', '11'].map(v => parseInt(v, 10));

document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
Run Code Online (Sandbox Code Playgroud)

或使用 Number

var res = ['2', '10', '11'].map(Number);

document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
Run Code Online (Sandbox Code Playgroud)


或者添加+符号将是解析字符串的更简单的想法

var res = ['2', '10', '11'].map(v => +v );

document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
Run Code Online (Sandbox Code Playgroud)


仅供参考:由于@Reddy注释 - map()无法在旧版浏览器中使用,您需要实现它(在Internet Explorer中修复JavaScript数组函数(indexOf,forEach等))或者只是使用for循环并更新数组.

也有一些其他的方法,该方法是目前它的文档,请看看填充工具,感谢@RayonDabre您指出.