我有下面的字符串
var a = "1,2,3,4";
当我…
var b = a.split(',');
我得到b为["1","2","3","4"]
我能做点什么让b等于[1,2,3,4]吗?
我有下面的字符串
var a = "1,2,3,4";
当我…
var b = a.split(',');
我得到b为["1","2","3","4"]
我能做点什么让b等于[1,2,3,4]吗?
当前回答
使用arraw函数的Matt Zeunert版本(ES6)
const nums = a.split(',').map(x => parseInt(x, 10));
其他回答
你可以在一行中将字符串数组转换为数字数组:
const arrayOfNumbers = arrayOfStrings.map(e => +e);
一个更简短的解决方案:映射并传递参数给Number:
Var a = "1,2,3,4"; Var b = a.s split(','); console.log (b); var c = b.map(Number); console.log (c);
这很简单。如:
["1", "2", "3", "4"].map(i=>Number(i))
您可以运行演示。 让结果=(“1”、“2”、“3”、“4”). map (i = > (i)); console.log(结果);
let ar = [ '682', '874', '906', '11168', '73714',
'74377', '74034', '138860', '138891', '139161', '139562',
'139733', '139560', '74049', '139759', '139934', '140104',
'141335', '141356', '141334', '141337', '141360', '141358',
'141365', '141419', '143333', '151477', '147342', '141355',
'167847', '192141', '196760', '191687', '197351', '197055',
'198852', '198731', '198816', '199034', '200053', '199226',
'217818', '200055', '222039', '230533', '230530', '231127',
'222042', '231100', '236171', '236913', '236980', '237015',
'237016', '237052', '237551', '237560', '237590', '237637',
'237733', '237731', '237655', '238890', '238910', '238837',
'238926', '238972', '238925', '239755', '239696', '239898',
'240037', '239909', '240036', '240082', '240097', '240526',
'240770', '678151', '678950', '678985'];
let arry=[]
ar.map(arr=>{
arry.push(parseInt(arr))
});
console.log(arry);
将其映射为整数:
a.split(',').map(function(i){
return parseInt(i, 10);
})
Map查看每个数组项,将其传递给所提供的函数,并返回一个包含该函数返回值的数组。map在旧的浏览器中是不可用的,但是大多数库,如jQuery或underscore都有一个跨浏览器版本。
或者,如果你喜欢循环:
var res = a.split(",");
for (var i=0; i<res.length; i++)
{
res[i] = parseInt(res[i], 10);
}