我有一个字符串数组,如['2', '10', '11']
,想知道将其转换为整数数组的最有效方法。我应该循环遍历所有元素并将其转换为整数,还是有一种函数可以完成这个任务?
我有一个字符串数组,如['2', '10', '11']
,想知道将其转换为整数数组的最有效方法。我应该循环遍历所有元素并将其转换为整数,还是有一种函数可以完成这个任务?
使用 map()
和 parseInt()
var res = ['2', '10', '11'].map(function(v) {
return parseInt(v, 10);
});
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
更简化的 ES6 箭头函数
var res = ['2', '10', '11'].map(v => parseInt(v, 10));
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
或者使用Number
var res = ['2', '10', '11'].map(Number);
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
+
符号会更简单,可以解析字符串
var res = ['2', '10', '11'].map(v => +v );
document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')
map()
在旧版浏览器中不起作用,您需要实现它 (修复Internet Explorer中的JavaScript数组函数(indexOf、forEach等)),或者简单地使用for循环并更新数组。
此外,还有其他方法在文档中介绍,请参见Polyfill,感谢@RayonDabre指出。
Number
对象。ḷet res = ['2', '10', '11'].map(Number);
标签。
var yourArray= yourArray.map(Number);
$.map(yourArray, function(value,index) {
return parseInt(value);
});
从字符串中解析整数的最简单方法是在前面添加+符号:
var res = ['1', '2', '3'].map(function(v){return +v})