【问题标题】:Function that transforms a string of upvote counts into an array of numbers in JavaScript [closed]将一串赞成计数转换为JavaScript中的数字数组的函数[关闭]
【发布时间】:2020-05-10 12:17:16
【问题描述】:

创建将一串赞成票数转换为数字数组的函数的最佳方法是什么?每个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数组,但我不知道如何用zeroes 正确替换k,以便浮点后的k 得到两个零,没有浮点的k 得到三个零。

【问题讨论】:

  • 检查数字是否以“k”结尾,如果是,则将其乘以 1000...
  • 是的,我太傻了,解决了。

标签: javascript arrays string


【解决方案1】:
function transformUpvotes(upvotes) {
  return upvotes.split(" ").map(x => {
    parsed = parseFloat(x);
    return x.endsWith("k") ? parsed * 1000 : parsed;
  });
}

【讨论】:

  • return upvotes.split(" ").map(x => parseFloat(x)*(x.endsWith("k") ? 1000 : 1)); // 小一点
猜你喜欢
  • 1970-01-01
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多