2016-04-18 5 views
2

Ich versuche, ein einfaches Array mit zufälligem Text zu machen. Ich sehe jedoch nach dem Ende des Arrays immer undefiniert. Gibt es eine Möglichkeit, es zu entfernen? Ich habe gesucht und versucht [i-1], aber kein Glück.Warum sollte am Ende dieses Arrays ein Undefined sein?

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) 

Antwort

5

Sie geben nichts zurück. Hinzufügen

return array; 

Dann erhalten Sie das Array, das Sie wollen.

Wenn Sie nur return oder keine Rückkehr verwenden, wird zurückgegeben.

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>');

+0

genauer zu sein: die nicht definiert, dass Sie sehen den Wert Ihrer Testgröße ist. Die anderen angezeigten Protokolle sind die von console.log (Array). – Walfrat

+1

Ok vielen Dank, ich verstehe jetzt! –

0

Du keinen Wert aus der Funktion zurückkehrt, das ist, warum es nicht definiert ist, zeigt. Variable "Test" hat keine Daten.

Try this:

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); 
return array; 
} 
var test = arrayMaker(10) 
console.log(test) 
Verwandte Themen