写一个js方法将字符串数组与数字数组互转
在前端开发中,有时需要将字符串数组转换为数字数组,或者将数字数组转换为字符串数组。以下是一个简单的JavaScript方法,用于实现这两种转换:
// 将字符串数组转换为数字数组
function stringArrayToNumberArray(stringArray) {
return stringArray.map(item => {
const number = parseFloat(item);
if (isNaN(number)) {
throw new Error(`无法将字符串 "${item}" 转换为数字`);
}
return number;
});
}
// 将数字数组转换为字符串数组
function numberArrayToStringArray(numberArray) {
return numberArray.map(item => {
if (typeof item !== 'number' || isNaN(item)) {
throw new Error(`无法将非数字项 "${item}" 转换为字符串`);
}
return item.toString();
});
}
使用示例:
// 字符串数组转换为数字数组
const stringArray = ['1', '2.3', '4.56'];
const numberArray = stringArrayToNumberArray(stringArray);
console.log(numberArray); // 输出: [1, 2.3, 4.56]
// 数字数组转换为字符串数组
const originalNumberArray = [10, 20.5, 30];
const stringArrayFromNumbers = numberArrayToStringArray(originalNumberArray);
console.log(stringArrayFromNumbers); // 输出: ["10", "20.5", "30"]
这两个方法分别使用 map()
函数遍历数组中的每个元素,并使用 parseFloat()
或 toString()
进行转换。如果转换失败(例如,尝试将非数字字符串转换为数字),则会抛出一个错误。这样可以确保转换的准确性,并在出现问题时提供有用的反馈。