Rolf B: false kollidiert mit 0

Beitrag lesen

Hallo Ronja,

abgesehen von Andreas technischem Hinweis auf false vs falsy, ist reduce der falsche Weg um ein Element in einem Array zu suchen.

Richtig ist Array.prototype.some. Zum einen hört der auf sobald er was gefunden hat (reduce läuft komplett durch) und zum anderen ist die Callbackfunktion viel einfacher.

arr = [2, 4, 6, 12, 43];

var in_arr = 2;
if (arr.some(function(v) { return v == in_arr; }))
	console.log("in_arr existiert.");
	console.log(in_arr);
} else {
	console.log("in_arr existiert nicht.");
}
//
// oder mit Pfeilfunktion, ECMAScript 2015, nicht in Internet Explorer
if (arr.some(v => v == in_arr))
	console.log("in_arr existiert.");

Rolf

--
sumpsi - posui - clusi