私は次のことができる関数を作り始めました:6で割ることができる数字0、1、2、3、4、および5で作成できる6桁の数字の数を数えますか?
私が現在始めようとしている方法は、可能なすべての数値の配列を作成し、numbers
配列要素のいずれかを含むすべての数値を取り出し、6で割り切れないものを削除することです。
私は2番目の部分で立ち往生しました。の配列でループする2つのループをnumbers
作成し、そのループ内で、配列の長さに対してもう1つのループを作成して、allnumbers
すべての一致を削除してみました。
次に%
、同じ方法で演算子を使用して、0を返さないすべての要素を取得します。
コードは柔軟である必要があります。ユーザーが要求した場合。6桁目でも、コードは機能するはずです。どうすればこれを終えることができますか?
私のコードは次のとおりです。
var allnumbers = [],j;
var biggestnumber = "999999999999999999999999999999999999999999999999999999999999";
function howmanynumbers(digits,numbers,divideWith){
if (digits && numbers && divideWith){
for (var i = 0; i < 1+Number(biggestnumber.substring(0,digits)); i++ ){
allnumbers.push(i);
}
for (j = 0; j < numbers.length; j++ ){
var matchit = new RegExp(numbers[j]);
}
//not expected to work, I just had this in for reference
if ( String(allnumbers[i]).match(matchit) != [""]){
j = 0;
allnumbers.splice(i,1);
var matchit = new RegExp(numbers[j])
}
}
else {
return false;
}
}