JavaScript 如何将字符串数组转换为数字数组
在本文中,我们给出了一个字符串数组,并且任务是将其转换为JavaScript中的数字数组。
Input: ["1","2","3","4","5"]
Output: [1,2,3,4,5]
Input: ["10","21","3","14","53"]
Output: [10,21,3,14,53]
有两种方法可以做到这一点,如下所示:
方法1:数组遍历和类型转换。
在这种方法中,我们遍历一个字符串数组,并使用parseInt()函数将其类型转换为整数,然后将其添加到一个新的数字数组中。
Javascript
// Create an array of string
var stringArray = ["1", "2", "3", "4", "5"];
// Create an empty array of number
var numberArray = [];
// Store length of array of string
// in variable length
length = stringArray.length;
// Iterate through array of string using
// for loop
// push all elements of array of string
// in array of numbers by typecasting
// them to integers using parseInt function
for (var i = 0; i < length; i++)
// Instead of parseInt(), Number()
// can also be used
numberArray.push(parseInt(stringArray[i]));
// Print the array of numbers
console.log(numberArray);
输出:
[1, 2, 3, 4, 5]
方法2:使用JavaScript的map()方法。
本方法使用JavaScript的数组map方法。
Javascript
// Create an array of string
var stringArray = ["10", "21", "3", "14", "53"];
// Create a numberArray and using
// map function iterate over it
// and push it by typecasting into
// int using Number
var numberArray = stringArray.map(Number);
// Print the array of numbers
console.log(numberArray);
输出:
[10, 21, 3, 14, 53]
方法3:使用JavaScript的forEach循环。
在这种方法中,我们使用了JavaScript中的数组forEach循环。
Javascript
// Create an array of string
var stringArray = ["10", "21", "3", "14", "53"];
// Create a numberArray and using
// forEach loop iterate over it
// and push it to numberArray with typecasting it into
// int using + operator
var numberArray = [];
stringArray.forEach( ele => numberArray.push(+ele))
// Print the array of numbers
console.log(numberArray);
输出:
[ 10, 21, 3, 14, 53 ]
方法4:使用 reduce方法 JavaScript。
在这种方法中,我们使用JavaScript的reduce函数。
Javascript
// Create an array of string
var stringArray = ["10", "21", "3", "14", "53"];
// Create a numberArray and using
// reduce function iterate over it
// and push it to numberArray with typecasting it into
// int using + operator
var numberArray = stringArray.reduce( (acc, x ) => acc.concat(+x), [])
// Print the array of numbers
console.log(numberArray);
输出:
[ 10, 21, 3, 14, 53 ]