2016-08-29 5 views
0

Hallo ich bin neu dies ist meine erste Frage. Ich beende den JavaScript-Primer für Bloc und stecke an einem einfachen Checkpoint fest.Java Script Array SIMPLE

Ich versuche, eine Funktion namens arrayLengthPlusOne zu erstellen. Diese Funktion sollte: Nehmen Sie ein Argument, ein Array mit einer Zahl zurück, die größer ist als die Anzahl der Elemente im Array ist .. Zum Beispiel: arrayLengthPlusOne([0,0,1,0,2,1]); // returns 7

Code habe ich versucht:

var arrayLengthPlusOne = function() { return arrayLengthPlusOne.length + 1; }; 

Ich erhalte ein Fehlermeldung, dass es nicht Tests bestanden hat. Vielleicht verstehe ich die Array/Funktions-Beziehung nicht. Ich verstehe, dass ein Array ein Objekt und kein Datentyp ist. Wie mache ich meine Funktion ein Argument, das ist ein Array?

+1

fügen Sie bitte Ihren Code, den Sie versucht haben. bitte sieh es hier an: [mcve] –

Antwort

2

Nur Sie müssen ein Argument in Ihrer Funktionsdeklaration hinzufügen.

var arrayLengthPlusOne = function(data) { // data is an argument in the function. It's an array. 
 
    return data.length + 1; 
 
}; 
 

 
// Calling the function. 
 
var arrayData = [0, 1, 3, 4]; // Declare an array variable with four elements. 
 
alert(arrayLengthPlusOne(arrayData)); // Show an alert with the result. Returns 4 + 1 elements.

1

Das Problem ist Ihr Variabel Namen "arrayLengthPlusOne" in der Funktion.

Sie sollten so etwas wie tun:

var arrayLengthPlusOne = function (yourArray) { return yourArray.length + 1; } 

und dem Aufruf der Funktion

myArray = [1 ,2 ,3 ,4 ] 
arrayLengthPlusOne(myArray) 
1

Sie die Array als Parameter

var arrayLengthPlusOne = function(array) { 
    return array.length + 1; 
} 
+0

Dies ist das spezifische Snippet, das es wollte ... Danke! Vielen Dank an alle von Ihnen – JasonJohnson

+0

@JasonJohnson Sie sind herzlich willkommen :) –

+0

@JasonJohnson bitte akzeptieren Sie akzeptieren, da es Ihnen geholfen hat, Ihr Problem zu lösen –

1

Innerhalb der Funktion übergeben müssen Sie können überprüfen, ob der übergebene Parameter ein Array ist oder nicht. Wenn der Parameter ein Array ist, gibt er die Länge um 1 zurück. Wenn es kein Array ist, gibt es undefined zurück. Allerdings können Sie den Rückgabetyp ändern auf der Grundlage Ihrer Anforderung

var arrayLengthPlusOne = function (array1) { 
 
    if (array1 instanceof Array) { 
 
    return array1.length + 1; 
 
    } 
 
};

1

Sie fehlen die Argumente an die Funktion zu übergeben. Probieren Sie dieses:

alert(arrayLengthPlusOne([1,2,3,4,5,6])); 

var arrayLengthPlusOne = function (myArray) { 
return myArray.length + 1; 

};