Javascript array.reduce ()

reduziert das Array anhand einer bereitgestellten Funktion auf einen einzigen Rückgabewert und gibt das Ergebnis zurück, z.B., und die Werte des Arrays zu summieren oder um den größten Wert der Array-Elemente festzustellen.

18-12-15 SITEMAP CSS HTML JS Basis JS Web Tutorial SVG

array.reduce()

array.reduce () führt eine Callback-Funktion auf allen Werten des Arrays durch und gibt nur einen Wert zurück. reduce ändert des Original-Arrays nicht.

array.reduce (callback, [initialValue]);

callback ist die obligatorische Callback-Funktion, in der die Operation durchgeführt wird. Das optionale Argument initialValue ist der Anfangswert.

const numbers = [400, 12, 333];
const sum = numbers.reduce (function summarize(sum, number) {
  const updatedSum = sum + number;
  return updatedSum;
}, 0);

sum;
console.log ("sum", sum); 

JSON: Komplexe Funktionen mit array.map, array.filter und array.reduce

So richtig in Fahrt kommen die Array-Methoden reduce, filter, find und map, wenn JSON-Arrays bearbeitet werden. Das Beispiel filtert alle Produkte vom Typ "Buch" und berechnet den Gesamtwert der Bücher im Stock.

const products = [
	{"art": "Buch", "no": 1724, "price": "3.75", "stock": 27},
	{"art": "Kalender", "no": 475, "price": "13.99", "stock": 13},
	{"art": "Buch", "no": 188, "price": "14.05", "stock": 28},
	{"art": "Spiel", "no": 774, "price": "22.99", "stock": 4},
	{"art": "Papier", "no": 2713, "price": "4.95", "stock": 120},
	{"art": "Spiel", "no": 75, "price": "2.50", "stock": 32}
];

const stock  = 
	products.filter (
		function(obj){
			if (obj.art == "Buch") {
				return obj;
        	}; // get all the marks.
        }).map (function (obj) {
        	return obj.price;
        });

console.log ("stock", stock); // ["3.75", "14.05"]

const buchwert = stock.reduce (function summarize (sum, num) {
	const updatedSum = parseFloat(sum) + parseFloat(num);
	return updatedSum;
})
console.log (buchwert); // 17.8