第一种方法:
(将数字转化为字符串,再)将字符串分割为数组,循环判断数组的每一项是否为这个字符(以‘1’为例)
function patch(num){
var s=num.toString();
var arr = s.split('');
var count = 0;
for(var i=0;i<arr.length;i++){
if(arr[i]=='1'){
count++;
}
}
return count;
}
第二种方法:
(将数字转化为字符串,然后)利用正则表达式,匹配这个字符串,利用match()方法(以‘1’为例)
function patch(num){
var s=num.toString();
if(s.match('/1/g')){
return s.match('/1/g').length;
}else{
return 0;
}
}
补充:利用递归判断一个数字中1出现的次数:
function getNum(n){
if(n==0){
return 0;
}
else{
var m=Math.floor(n/10);
var l=n%10;
if(l==1){
return 1+getNum(m)
}else{
return getNum(m)
}
}
}