函数,该函数在JavaScript中将一个向上投票计数字符串转换为一个数字数组

函数,该函数在JavaScript中将一个向上投票计数字符串转换为一个数字数组,javascript,arrays,string,Javascript,Arrays,String,创建一个函数的最佳方法是什么?该函数将一串向上投票计数转换为一个数字数组。每个k代表一千个 transformUpvotes("6.8k 13.5k") ➞ [6800, 13500] transformUpvotes("5.5k 8.9k 32") ➞ [5500, 8900, 32] transformUpvotes("20.3k 3.8k 7.7k 992") ➞ [20300, 3800, 7700, 992] 以数组的形式返回投票 现在我试着自己使用或不使用正则表达式来做这件事,

创建一个函数的最佳方法是什么?该函数将一串向上投票计数转换为一个数字数组。每个
k
代表一千个

transformUpvotes("6.8k 13.5k") ➞ [6800, 13500]

transformUpvotes("5.5k 8.9k 32") ➞ [5500, 8900, 32]

transformUpvotes("20.3k 3.8k 7.7k 992") ➞ [20300, 3800, 7700, 992]
以数组的形式返回投票

现在我试着自己使用或不使用正则表达式来做这件事,我使用的模式是这样的
/\。\d(k)/g

我首先使用
array.split(“”)将字符串转换为javascript数组
但我不知道如何正确地用
零替换
k
,这样浮点后的
k
得到两个零,没有浮点的k得到三个零。

检查数字是否以“k”结尾,如果以“k”结尾,然后乘以1000…是的,我真是太蠢了,解决了它。返回upvots.split(“).map(x=>parseFloat(x)*(x.endsWith(“k”)?1000:1));//稍微小一点
function transformUpvotes(upvotes) {
  return upvotes.split(" ").map(x => {
    parsed = parseFloat(x);
    return x.endsWith("k") ? parsed * 1000 : parsed;
  });
}