0

ユーザーからの入力をプロンプトから取得し、その入力を配列に格納してから表示したいと考えています。forループを使用してユーザーから 10 個の入力のみを取得したい。do-while以下に示すように、私はすでに試しました。

var givenNames = new Array();
var pattern = /[\w\d]{1,}/ig;

do{
    var name = prompt("Enter some names. Only letters and digits are accepted!\nEntering an empty field stops asking","");
    if(name && name.match(pattern)){givenNames.push(name);}
}
while(name != "");

function displayNames(){
    if(givenNames.length > 0){
        document.getElementById("list").innerHTML = "<span style='color:Navy;font-    weight:bold;'>Given names are:<\/span><br><br>" + givenNames.join("<br><br>");
    } else {
        document.getElementById("list").innerHTML = "<span style='color:Navy;font-weight:bold;'>Nothing has been given!<\/span>";
    }
}

forループに置き換えるにはどうすればよいですか?

4

2 に答える 2

1

ここでデモを見る

forループ条件を使用して、カウントと入力をチェックします。

var givenNames = new Array();
var pattern = /[\w\d]{1,}/ig;

var name;

for ( var i=0; i<10 && name != ""; i++){
    name = prompt("Enter some names. Only letters and digits are accepted!\nEntering an empty field stops asking", "");
    if (name && name.match(pattern)) {
        givenNames.push(name);
    }
} 


if (givenNames.length > 0) {
    document.getElementById("list").innerHTML = "<span style='color:Navy;font-    weight:bold;'>Given names are:<\/span><br><br>" + givenNames.join("<br><br>");
} else {
    document.getElementById("list").innerHTML = "<span style='color:Navy;font-weight:bold;'>Nothing has been given!<\/span>";
}

使用している場合とdo-while使用do {...} while (++count < 10 && name != "")したいwhile場合while (count++ < 10 && name != "" ) {...}

于 2013-09-04T19:08:15.673 に答える
1
    var givenNames = new Array();
    var pattern = /[\w\d]{1,}/ig;


    for(var i=0;i<10;i++){
var name = prompt("Enter some names. Only letters and digits are accepted!\nEntering an empty field stops asking","");
    if(name && name.match(pattern)){givenNames.push(name);}
    }

    function displayNames(){
        if(givenNames.length > 0){
            document.getElementById("list").innerHTML = "<span style='color:Navy;font-    weight:bold;'>Given names are:<\/span><br><br>" + givenNames.join("<br><br>");
        } else {
            document.getElementById("list").innerHTML = "<span style='color:Navy;font-weight:bold;'>Nothing has been given!<\/span>";
        }
    }

DEMO FIDDLE

于 2013-09-04T19:09:53.717 に答える