这就是我想要的。
用户输入数字输入。如果他输入2,则代码会提示输入两个玩家名称。
播放器名称存储在一个数组中。页面中有一个“下一个”按钮,当用户单击它时,代码会提示输入另外两个名称。
接下来是棘手的部分:现在,在两个单独的会话中输入了四个名字。现在我需要一个嵌套数组,应该根据会话将用户名保存在不同的数组中。
我尝试了很多代码,但至少只有以下内容更接近。 但是,每当用户输入新的用户名列表时,就会创建一个新数组,但之前的数组也会被覆盖。
$.each(data.result.district, function(index, district) {
$.each($(district), function(index, hotel) {
console.log($(hotel).displayname);
});
});
var TotalNumOfPlayers = prompt("Enter The Total Number Of Players! (For example 2)");
var nameOfPlayers = [];
var loopThroughAllNames = new Array(new Array());
var NextList = document.querySelector("#NextList");
var tempArr = [];
addValue();
function addValue() {
for (var i = 0; i < TotalNumOfPlayers; i++) {
tempArr[i] = prompt("Enter Player name "+(i+1));
}
loopThroughAllNames.push(tempArr);
}
NextList.addEventListener("click", function() {
addValue();
});
答案 0 :(得分:3)
对于相同的tempArr,你的for循环总是从0开始(在addValue
方法之外初始化一次),因此它会覆盖先前的条目。
for (var i = 0; i < TotalNumOfPlayers; i++) {
tempArr[i] = prompt("Enter Player name "+(i+1));
}
您需要在tempArr
方法中初始化addValue
数组。
<强>演示强>
var loopThroughAllNames = [];
var TotalNumOfPlayers = prompt("Enter The Total Number Of Players!");
addValue();
function addValue ()
{
var tempArr = [];
for (var i = 0; i < TotalNumOfPlayers; i++) {
tempArr[i] = prompt("Enter Player name");
}
loopThroughAllNames.push(tempArr);
console.log( loopThroughAllNames );
}
var NextList = document.querySelector("#NextList");
NextList.addEventListener("click", function() {
addValue( );
});
<button id="NextList">Next list</button>
答案 1 :(得分:3)
检查以下链接
var TotalNumOfPlayers = prompt("Enter The Total Number Of Players! (For example 2)");
var loopThroughAllNames = [];
var NextList = document.querySelector("#NextList");
addValue();
function addValue() {
var tempArr = [];
for (var i = 0; i < TotalNumOfPlayers; i++) {
tempArr[i] = prompt("Enter Player name " + (i + 1));
}
loopThroughAllNames.push(tempArr);
}
NextList.addEventListener("click", function() {
addValue();
document.write(JSON.stringify(loopThroughAllNames));
});
<button id="NextList">Next list</button>
答案 2 :(得分:1)
我正在创建一个数组数组来插入名称。 tempArr
内addValue
被声明为空,后来被推入全局数组allnames
var TotalNumOfPlayers = prompt("Enter The Total Number Of Players! (For example 2)");
var nameOfPlayers = [];
var loopThroughAllNames = new Array(new Array());
var NextList = document.querySelector("#NextList");
var allnames = [];
addValue();
function addValue() {
var tempArr = [];
for (var i = 0; i < TotalNumOfPlayers; i++) {
tempArr[i] = prompt("Enter Player name "+(i+1));
}
loopThroughAllNames.push(tempArr);
allnames.push(tempArr);
}
NextList.addEventListener("click", function() {
addValue();
console.log(allnames)
});
<button id="NextList">Next list</button>