示例:我们有数字1122
。我想检查给定的数字是否多次包含数字1
。在这种情况下,它应该返回true
。
我需要代码灵活,它必须使用任何数字,例如3340
,5660
,4177
等。
最佳答案
您可以通过调用toString
方法或串联轻松地“强制” JS将任何数字值强制转换为字符串。
var someNum = 1122;
var oneCount = (someNum + '').split('1').length;
通过将数字连接为空字符串,变量将被强制转换为字符串,因此您可以使用所有喜欢的字符串方法(
.match
,.substring
,.indexOf
,...)。在此示例中,我选择了在每个
'1'
字符上拆分字符串,计数并使用结果数组的长度。如果长度> 2,则您需要知道什么。var multipleOnes = ((someNum + '').split('1').length > 2);//returns a bool, true in this case
为了回应您的评论,使其变得灵活-编写一个简单的函数即可:
function multipleDigit(number, digit, moreThan)
{
moreThan = (moreThan || 1) + 1;//default more than 1 time, +1 for the length at the end
digit = (digit !== undefined ? digit : 1).toString();
return ((someNum + '').split(digit).length > moreThan);
}
multipleDigit(1123, 1);//returns true
multipleDigit(1123, 1, 2);//returns false
multipleDigit(223344,3);//returns 3 -> more than 1 3 in number.
关于javascript - 如何检查数字是否多次使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14093632/