In JavaScript können Sie das Längenattribut verwenden, um die Länge des Arrays abzurufen. Die Syntax lautet „array object.length“. Sie können die Funktion „reduce()“ oder „reducRight()“ verwenden, um die Summe der Elemente, die Syntax, zu ermitteln ist „arr.reduce(function f(pre,curr){return pre+cur})“ oder „arr.reduceRight(function f(pre,curr){return pre+cur})“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
JavaScript zum Ermitteln der Länge eines Arrays
In JavaScript können Sie die Längeneigenschaft des Array-Objekts verwenden, um die Länge des Arrays abzurufen.
Jedes Array verfügt über ein Längenattribut, das die maximale Länge des Arrays zurückgibt, d. h. sein Wert ist gleich dem maximalen Indexwert plus 1. Da der numerische Index kleiner als 2^32-1 sein muss, ist der Maximalwert des Längenattributs gleich 2^32-1.
Beispiel 1
Der folgende Code definiert ein leeres Array und weist dann dem Element mit dem Index gleich 100 einen Wert zu, dann gibt die Längeneigenschaft 101 zurück. Daher kann das Längenattribut nicht die tatsächliche Anzahl der Array-Elemente widerspiegeln.
var a = []; //声明空数组 a[100] = 2; console.log(a.length); //返回101
Ausgabe:
101
Das Längenattribut ist lesbar und beschreibbar und ein dynamisches Attribut. Der Längenattributwert wird auch automatisch aktualisiert, wenn sich die Array-Elemente ändern. Wenn der Wert des Längenattributs zurückgesetzt wird, wirkt sich dies gleichzeitig auch auf die Elemente des Arrays aus. Die spezifischen Anweisungen lauten wie folgt:
Wenn das Längenattribut auf einen Wert eingestellt ist, der kleiner als der aktuelle Längenwert ist, wird das Array wird abgeschnitten und der Elementwert über die neue Länge hinaus geht verloren.
Wenn die Längeneigenschaft auf einen Wert festgelegt ist, der größer als der aktuelle Längenwert ist, wird das leere Array am Ende des Arrays hinzugefügt, wodurch das Array auf die neu angegebene Länge und die gelesenen Werte anwächst wird undefiniert sein.
Beispiel 2
Der folgende Code demonstriert die Auswirkung dynamischer Änderungen des Längenattributwerts auf das Array.
var a = [1,2,3]; //声明数组直接量 a.length = 5; //增长数组长度 console.log(a[4]); //返回undefined,说明该元素还没有被赋值 a.length = 2; //缩短数组长度 console.log(a[2]); //返回undefined,说明该元素的值已经丢失
Ausgabe:
undefined undefined
JavaScript, um die Summe von Arrays zu ermitteln
Methode 1: Verwenden Sie Reduce()
reduce(), um die Array-Elemente in einen Wert zu berechnen (von links nach rechts).
var a = [1, 2, 3, 4, 5]; var b =a.reduce(function f(pre, curr){ return pre + curr; }); console.log(b);
Erläuterung: Die Methode
reduce() kann die angegebene Callback-Funktion für alle Elemente im Array aufrufen. Der Rückgabewert dieser Rückruffunktion ist das kumulative Ergebnis, und dieser Rückgabewert wird beim nächsten Aufruf der Rückruffunktion als Parameter bereitgestellt. Die spezifische Verwendung ist wie folgt:
array.reduce(callbackfn[, initialVaule]);
Parameterbeschreibung:
array: erforderlicher Parameter, ein Array-Objekt.
callbackfn: erforderlicher Parameter, eine Funktion, die bis zu vier Parameter akzeptiert. Die Methode „recover()“ ruft die Funktion „callbackfn“ einmal für jedes Element im Array auf.
initialValue: Optionaler Parameter. Wenn initialVaule angegeben ist, wird er als Anfangswert zum Starten der Akkumulation verwendet. Der erste Aufruf der callbackfn-Funktion liefert diesen Wert als Parameter anstelle eines Array-Werts. Der Rückgabewert der Methode
reduce() ist das kumulative Ergebnis, das durch den letzten Aufruf der Rückruffunktion erhalten wurde.
Wenn der Parameter initialVaule angegeben ist, ruft die Methode Reduce() die Callbackfn-Funktion einmal für jedes Element im Array auf (in aufsteigender Indexreihenfolge). Wenn InitialVaule nicht angegeben ist, ruft die Methode Reduce() die Funktion CallbackFn auf ab dem 2. Element Die callbackfn-Funktion wird für jedes Element aufgerufen.
Der Rückgabewert der Callback-Funktion wird beim nächsten Aufruf der Callback-Funktion als previousValue-Parameter bereitgestellt. Der vom letzten Aufruf der Rückruffunktion erhaltene Rückgabewert ist der Rückgabewert der recude()-Methode. Diese Methode ruft die Rückruffunktion nicht für fehlende Elemente im Array auf.
Die Syntax der Callback-Funktion lautet wie folgt:
function callbackfn(previousValue, currentVaule, currentIndex, array);
Callback-Funktionsparameterbeschreibung:
previousValue: der Wert, der durch den letzten Aufruf der Callback-Funktion erhalten wurde. Wenn initialValue für die Methode Reduce() bereitgestellt wird, ist previousValue initialValue, wenn die Funktion zum ersten Mal aufgerufen wird.
currentValue: Der Wert des aktuellen Elementarrays.
currentIndex: Der numerische Index des aktuellen Array-Elements.
array: Array-Objekt, das das Element enthält.
Wenn die Callback-Funktion zum ersten Mal aufgerufen wird, hängt der als Parameter bereitgestellte Wert davon ab, ob die Methode „reduce()“ einen Parameter „initialValue“ hat. Wenn initialValue für die recude()-Methode bereitgestellt wird, ist der previousValue-Parameter der initialValue und der currentValue-Parameter der Wert des ersten Elements im Array.
Methode 2: Verwenden Sie ReduceRight()
reduceRight(), um die Array-Elemente in einen Wert umzuwandeln (von rechts nach links).
var arr = [1, 2, 3, 4, 5, 5]; var b =arr.reduceRight(function f(pre, curr){ return pre + curr; }); console.log(b);
Erläuterung: Die Methode
reduceRight() kann die angegebene Rückruffunktion für alle Elemente im Array von rechts nach links aufrufen. Der Rückgabewert dieser Rückruffunktion ist das kumulative Ergebnis, und dieser Rückgabewert wird beim nächsten Aufruf der Rückruffunktion als Parameter bereitgestellt. Die spezifische Verwendung ist wie folgt:
array.reduceRight(callbackfn[, initialValue]);
该方法的语法和用法与 reduce() 方法大概相同,唯一不同的是,它是从数组右侧开始调用回调函数。如果提供了 initialValue,则 reduceRight() 方法会按降序索引顺序对数组中的每个元素调用一次 callbackfn 函数。如果未提供 initialValue,则 reduceRight() 方法会按降序索引顺序对每个元素(从倒数第 2 个元素开始)调用 callbackfn 函数。
【相关推荐:javascript视频教程、web前端开发】
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie die Länge und Summe der Elemente eines Arrays in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!