我有一个像['2', '10', '11']
这样的字符串数组,并且想知道将它转换为整数数组的最有效方法是什么。我应该循环遍历所有元素并将其转换为整数还是有一个函数来执行此操作?
答案 0 :(得分:9)
使用 map()
和 parseInt()
var res = ['2', '10', '11'].map(function(v) {
return parseInt(v, 10);
});
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
&#13;
更简化的ES6箭头功能
var res = ['2', '10', '11'].map(v => parseInt(v, 10));
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
&#13;
或使用 Number
var res = ['2', '10', '11'].map(Number);
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
&#13;
<小时/> 或者添加
+
符号将更简单的解析字符串
var res = ['2', '10', '11'].map(v => +v );
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
&#13;
<小时/> 仅供参考:由于@Reddy评论 -
map()
无法在旧版浏览器中使用,您需要实现它(Fixing JavaScript Array functions in Internet Explorer (indexOf, forEach, etc.))或仅使用for循环并更新数组。
还有一些其他方法存在于其文档中请查看 Polyfill ,感谢@RayonDabre指出。
答案 1 :(得分:0)
从字符串中解析int的最简单方法是在之前添加 + 符号:
var res = ['1', '2', '3'].map(function(v){return +v})
答案 2 :(得分:0)
您可以使用
var yourArray= yourArray.map(Number);
使用jQuery,您可以使用如下的map方法
$.map(yourArray, function(value,index) {
return parseInt(value);
});
答案 3 :(得分:0)
您可以简单地使用 Number 对象。
ḷet res = ['2', '10', '11'].map(Number);