-1
var userInput = prompt('enter number here');
var number = new Array(userInput.toString().split(''));
if (number ????){ //checks if the number is in a continuous stream
alert(correct);
}
else{
alert(invalid);
}

Javascript で、「????」で何ができますか? 連続した順序/ストリームにあるかどうかを確認するには? また、配列内の特定のインデックスの後にのみこの順序/ストリームをチェックするようにするにはどうすればよいですか? ユーザーが「12345678901234」と入力すると正しくポップアップすることを意味しますが、「12347678901234」は無効にポップアップしますか? (2 つの 7 があることに注意してください) 2 番目の部分「3312345678901234」が正しくポップアップします。

4

4 に答える 4

0

配列は必要ありません。文字列を一度に 1 文字戻すだけです。

0 を打ったら 10 を代入し、その数が前の数より 1 つ多くならないようにします。

function continuousFromChar(str, start){
    start= start || 0;
    var i= 0, L= str.length, prev;
    while(L){
        c= +(str.charAt(-- L)) || 10; // use 10 for 0
        prev=+(str.charAt(L- 1));       
        if(c-prev  !== 1) break;
    }
    return  start>=L;
}

var s= "3312345678901234";

continuousFromChar(s,2)

/*  returned value: (Boolean)
true
*/
于 2013-05-03T00:45:08.720 に答える