Ich versuche, eine zufällige Namensauswahl aus einem Array von Namen aus localstorage zu machen, die scheint, dass der Fehler nicht auftaucht, wenn ich es mit Google Chrome inspiziere.Namen von localstorage in Array zu zufälliger Namensauswahl
Hier ist mein Code:
function getUserData() {
var Detail = localStorage.getItem("Detail");
if (Detail == null) {
Detail = []; // on new computer, create the local storage item } else {
Detail = JSON.parse(Detail); // convert from string to array
}
for (var i = 0; i < Detail.length; i++) { // loop through the array
var row = document.getElementById("Detail").insertRow(-1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
cell1.innerHTML = Detail[i].name;
cell2.innerHTML = Detail[i].admin;
cell3.innerHTML = Detail[i].email;
cell4.innerHTML = Detail[i].contact;
cell5.innerHTML = Detail[i].country;
}
}
function NamePicker() {
var Detail = localStorage.getItem("Detail");
if (Detail == null) {
Detail = []; // on new computer, create the local storage item
} else {
Detail = JSON.parse(Detail); // convert from string to array
}
// copy names
var nameArray = [];
for (var i = 0; i < Detail.length; i++) { // loop through the array
nameArray[i] = Detail[i].name;
}
for (var i = 0; i < Detail.length; i++) { // loop through the array
// get a number from random num generator %numArray.length
name = nameArray[num];
while (nameArray.length < 11) {
var randomnumber = Math.max(Math.ceil(Math.random() * 11))
var found = false;
for (var i = 0; i < nameArray.length; i++) {
if (name[i] == randomnumber) {
found = true;
break
}
}
if (!found) name[nameArray.length] = randomnumber;
}
// Display using modal
alert(name);
// remove using splice(num, 1);
name.splice(num, 1);
document.getElementById("Detail").innerHTML = name;
}
}
das Problem ist, dass es scheint, dass num
wird den Namen aus der Liste und Alarm-Funktion nicht entfernen up nicht knallen ... ich schätze die Hilfe dank wirklich im voraus ...
Die '} else {' im Kommentar in der ersten Funktion ist nur ein Tippfehler in der Frage? 'Detail = []; // ...} else {' – Andreas
da Sie das name-Array in der zweiten for-Schleife durchlaufen, würde ich nameArray.length anstelle von Detail.length verwenden –
Woher kam num genau? –