为什么在这个数组的末尾会有一个未定义的?

Mat*_*ris 2 javascript arrays

我正在尝试用随机文本制作一个简单的数组.我总是在数组结束后看到未定义.有没有办法删除它?我搜索并试过[i-1],但没有运气.

function arrayMaker(integer) {
var alphabet = "abcdefghijklmnopqrstuvwxyz";
var array = [];
for (q = 0; q < integer; q++){
    var word = '';
    for (i = 0; i < Math.floor((Math.random() * 10) +1); i++){
        var number = Math.floor(Math.random() * 26);
        word += alphabet.substring(number, (number+1));
    }
array.push(word);
}
console.log(array);
}
var test = arrayMaker(10)
console.log(test)
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 5

你没有退货.加

return array;
Run Code Online (Sandbox Code Playgroud)

然后你得到你想要的数组.

如果您只使用return或不返回,则undefined返回.

function arrayMaker(integer) {
    var alphabet = "abcdefghijklmnopqrstuvwxyz",
        array = [], q, i, number, word;
    for (q = 0; q < integer; q++) {
        word = '';
        for (i = 0; i < Math.floor((Math.random() * 10) + 1) ; i++) {
            number = Math.floor(Math.random() * 26);
            word += alphabet.substring(number, (number + 1));
        }
        array.push(word);
    }
    return array;
}
var test = arrayMaker(10);

document.write('<pre>' + JSON.stringify(test, 0, 4) + '</pre>');
Run Code Online (Sandbox Code Playgroud)