首页 > 解决方案 > 用于计算字符串中位数的代码片段,如何编写它来工作?

问题描述

用于计算字符串中位数的代码片段,如何编写它来工作?

const str = "192.168.5.0"
const digits = [...str].reduce((a, char) => char === /\d/.test(char) ? ++a : a, 0);

console.log(digits);

标签: javascript

解决方案


您可以利用一元加运算符将 true 转换为 1 并将 false 转换为 0。只需将返回的布尔值转换test()为数字,并将结果添加到reduce(). 当字符是数字时添加 1,否则添加 0。

const str = "192.168.5.0"
const digits = [...str].reduce((n, char) => n + +/\d/.test(char), 0);

console.log(digits);


推荐阅读