多维矩阵阵列配置

时间:2014-06-15 01:41:04

标签: javascript arrays

有些事情似乎不对,它时不时地停止工作,我错过了什么。

/*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,但它似乎没有正确格式化)它在我发布

后自行修复

1 个答案:

答案 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)];
}