Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Verwendung der Methode Reduce() in JavaScript

Detaillierte Erläuterung der Verwendung der Methode Reduce() in JavaScript

高洛峰
高洛峰Original
2016-12-28 09:44:471380Durchsuche

Die JavaScript-Array-Reduction()-Methode wendet eine Funktion gleichzeitig auf zwei Werte des Arrays (von links nach rechts) an, um sie auf einen Wert zu reduzieren.
Syntax

array.reduce(callback[, initialValue]);

Im Folgenden sind die Details der Parameter aufgeführt:

Rückruf: Die Funktion wird für jeden Wert im Array

initialValue: Objekt als erstes Argument zum ersten Aufruf des Callbacks mit

Rückgabewert:

Gibt einen reduzierten Einzelwert des Arrays zurück

Kompatibilität:

Diese Methode ist eine JavaScript-Erweiterung des ECMA-262-Standards und existiert daher möglicherweise nicht in anderen Implementierungen des Standards. Damit es funktioniert, müssen Sie das folgende Skript oben im Code hinzufügen:

if (!Array.prototype.reduce)
{
 Array.prototype.reduce = function(fun /*, initial*/)
 {
  var len = this.length;
  if (typeof fun != "function")
   throw new TypeError();
 
  // no value to return if no initial value and an empty array
  if (len == 0 && arguments.length == 1)
   throw new TypeError();
 
  var i = 0;
  if (arguments.length >= 2)
  {
   var rv = arguments[1];
  }
  else
  {
   do
   {
    if (i in this)
    {
     rv = this[i++];
     break;
    }
 
    // if array contains no values, no initial value to return
    if (++i >= len)
     throw new TypeError();
   }
   while (true);
  }
 
  for (; i < len; i++)
  {
   if (i in this)
    rv = fun.call(null, rv, this[i], i, this);
  }
 
  return rv;
 };
}

Beispiel:



JavaScript Array reduce Method




Dies führt zu folgenden Ergebnissen:

Folgen Sie der chinesischen PHP-Website!
total is : 6
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn