检查一个数字是否包含另一个数字的最好方法
Best way to check if a number contains another number
例如,如果数字752包含数字5?最好的检查方法是什么?转换为字符串或分成单独的数字?
转换为字符串并使用indexOf
(752+'').indexOf('5') > -1
console.log((752+'').indexOf('5') > -1);
console.log((752+'').indexOf('9') > -1);
转换为string
并使用以下选项之一:
indexOf()
:
(number + '').indexOf(needle) > -1;
includes()
:
(number + '').includes(needle);
有三种使用方法:
-
检查字符串是否包含:
var num = 752; num.toString().indexOf('5') > -1 //return true or false - contains or not
-
按循环检查
var f = 2; while(num > 0 ){ if( num % 10 == f){ console.log("true"); break; } num = Math.floor(num / 10); }
-
按正则表达式检查
num.toString().match(/5/) != null //return true if contains
function checkNumberIfContainsKey(number, key){
while(number > 0){
if(number%10 == key){
return true;
}
number = Math.trunc(number / 10);
}
return false;
}
console.log(
checkNumberIfContainsKey(19, 9), //true
checkNumberIfContainsKey(191, 9), //true
checkNumberIfContainsKey(912, 9), //true
checkNumberIfContainsKey(185, 9) //false
);
由于该程序的复杂性,可用答案中最有效的解决方案是O(number of digits)
,如果number = 10235
,则number of digits = 5
您也可以使用"some"函数。像这样的"一些"东西:
function hasFive(num){
return num.toString().split("").some(function(item){
return item === "5";
});
}
然后你可以叫它:
hasFive(752)
进一步的改进是,你创建一个函数,接受你想要检查的数字和数字:
function hasNumber(num, digit){
return num.toString().split("").some(function(item){
return item == digit;
});
}
然后用同样的方式调用它:
hasNumber(1234,3) //true
hasNumber(1244,3) //false
这样我们就可以检查任意数字。我希望"有些人"会觉得这有用。:)
相关文章:
- 当与另一个实例进行比较时,我的类实例如何隐式返回数字
- 用户在文本框中输入一个数字,并根据使用 PHP 输入的数字重定向到另一个网页
- 设置递增到另一个数字的确切持续时间
- 在另一个由非字母数字字符分隔的字符串中搜索(任何)字符串
- AngularJS如何获取一个数组,该数组将数字添加到函数中的元素,然后用另一个函数分散其注意力
- 使用输入数字值作为另一个字段的输入数字最大值
- Javascript 转到 URL 如果用户输入特定数字,则转到另一个 URL
- 检查一个数字是否可以被另一个数字整除 如果不能,则使其在 Javascript 中可整除
- 将特定的机密 6 位数字转换为另一个 6 位数字
- Javascript / jQuery - 将一个数字范围映射到另一个数字范围
- 带有数字的 Jquery 幻灯片 - 帮助让数字链接保持颜色,直到选择另一个链接
- 设置选项接受一个数字变量,拒绝另一个数字变量
- 如何将一个数字从另一个函数调用到一个函数中
- 点击生成数字,然后将其传递给另一个函数
- 使用for循环将一个数字相加,直到它是(number % 4 == 0)另一个数字的倍数
- Regexp用于检查输入是否仅为整数(int),以及检查另一个输入是否仅为带有2位小数的数字
- Javascript如何判断一个数字是否是另一个数字的倍数
- Javascript将数字转换为字符串将其转换为另一个数字
- 检查一个数字是否包含另一个数字的最好方法
- 在php中回应一个变量会得到一个数字,将变量设置为cookie并评估cookie会得到另一个数字