有些事情似乎不对,它时不时地停止工作,我错过了什么。
/*this is a test of a nameing system */
var name = ""; /* <-- if you put a name here it will be used instead of a the list of names*/
names = [ /*female names*/ ["ann", "chi", "sue", "sally", "tammy", "wowser"], /*male names*/ ["joe", "don", "bob"]];
var myname = ""; /*<-- multipurpose filler for later use also*/
var i = 0; /* <-- pre establised varible to stop out of scope errors */
var sex = 0; /* <-- put here to represent varible provided else where not included here*/
if (name !== "") {
myname = name;
} else {
if (sex === 0) {
for (n = 0; n < names[0].length; n++) { /*<-- my solution to how large an array is*/
if (names.length < 0) {
break;
}
}
i = Math.floor((Math.random() * (n - 1 + 1)) + 1) - 1; /* my solution to not being able to randomly generate zero*/
myname = names[sex][i];
} else {
for (n = 0; n < names[0].length; n++) { /*<-- my solution to how large an array is*/
if (names.length < 0) {
break;
}
}
i = Math.floor((Math.random() * (n - 1 + 1)) + 1) - 1; /* my solution to not being able to randomly generate zero*/
myname = names[sex][i];
}
}
alert(myname);
任何指导将不胜感激。 (我按了ctrl k,但它似乎没有正确格式化)它在我发布
后自行修复答案 0 :(得分:0)
names[0]
是一个数组,因此您可以使用names[0].length
检查其长度。同样适用于names[1]
。假设sex
为0或1:
if (name) {
myname = name;
} else {
myname = names[sex][Math.floor(Math.random() * names[sex].length)];
}