diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
commit | 4b1a9203c547c019fc5398082ae19a3f3d4c3efe (patch) | |
tree | d4a40e13ceeb9f85479605110a76e7a4d5f3b56b /files/de/web/javascript/reference/global_objects/array/some/index.html | |
parent | 33058f2b292b3a581333bdfb21b8f671898c5060 (diff) | |
download | translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.gz translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.bz2 translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.zip |
initial commit
Diffstat (limited to 'files/de/web/javascript/reference/global_objects/array/some/index.html')
-rw-r--r-- | files/de/web/javascript/reference/global_objects/array/some/index.html | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/files/de/web/javascript/reference/global_objects/array/some/index.html b/files/de/web/javascript/reference/global_objects/array/some/index.html new file mode 100644 index 0000000000..0fe959b0d7 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/array/some/index.html @@ -0,0 +1,209 @@ +--- +title: Array.prototype.some() +slug: Web/JavaScript/Reference/Global_Objects/Array/some +tags: + - Array + - ECMAScript5 + - JavaScript + - Method + - Prototype + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Array/some +--- +<div>{{JSRef}}</div> + +<p>Die Methode <code><strong>some()</strong></code> überprüft ob mindestens ein Element des Arrays den als Funktion übergebenen Kriterien entspricht.</p> + +<div class="note"> +<p><strong>Hinweis:</strong> Diese Methode gibt <code>false</code> für jede Bedingung auf einem leeren Array zurück.</p> +</div> + +<div>{{EmbedInteractiveExample("pages/js/array-some.html")}}</div> + + + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox"><var>arr</var>.some(<var>callback</var>[, <var>thisArg</var>])</pre> + +<h3 id="Parameter">Parameter</h3> + +<dl> + <dt><code>callback</code></dt> + <dd>Funktion die jedes Element überprüft, nimmt drei Argumente entgegen: + <dl> + <dt><code>currentValue</code></dt> + <dd>Das aktuell zu verarbeitende Element des Arrays.</dd> + <dt><code>index</code>{{Optional_inline}}</dt> + <dd>Der Index des aktuell zu verarbeitenden Elementes im Array.</dd> + <dt><code>array</code>{{Optional_inline}}</dt> + <dd>Die Arrayinstanz auf welcher die <code>some()</code> Methode aufgerufen wurde.</dd> + </dl> + </dd> + <dt><code>thisArg</code>{{Optional_inline}}</dt> + <dd>Wert der über das <code>this</code> Schüsselwort innerhalb von <code>callback</code> verfügbar ist.</dd> +</dl> + +<h3 id="Rückgabewert">Rückgabewert</h3> + +<p><code><strong>true</strong></code> wenn die callback Methode ein positives ({{Glossary("truthy")}}) Ergebnis für eines der Elemente im array ermittelt hat; Andernfalls, <code><strong>false</strong></code>.</p> + +<h2 id="Beschreibung">Beschreibung</h2> + +<p><code>some()</code> führt die <code>callback</code> Funktion einmal für jedes Element innerhalb des Arrays aus, bis ein Element gefunden wird, bei dem <code>callback</code> einen <em>truthy</em> Wert (<em>e</em>in Wert der durch die Konvertierung zu boolean true ergibt) zurückgibt. Wird ein solches Element gefunden, gibt <code>some()</code> sofort <code>true</code> zurück. <code>callback</code> wird nur für Elemente des Arrays ausgeführt, die einen zugewiesenen Wert haben; Für undefinierte oder gelöschte Elemente des Arrays wird <code>callback</code> nicht ausgeführt.</p> + +<p><code>callback</code> wird mit drei Argumenten aufgerufen: Dem Wert des Elementes, dem Index des Elementes und dem zugrundeliegenden <code>Array</code>.</p> + +<p>WIrd ein <code>thisArg</code> Parameter an die <code>some()</code> Methode übergeben, wird dieser als <code>this</code> bei der <code>callback</code> Funtion benutzt. Andernfalls wird der Wert {{jsxref("undefined")}} als <code>this</code> benutzt. Der tatsächliche Wert von <code>this</code> wird entsprechend der <a href="/de/docs/Web/JavaScript/Reference/Operators/this">generellen Regeln zur Belegung des this Schlüsselwortes innerhalb von Funktionen </a>gesetzt.</p> + +<p><code>some()</code> verändert nicht das Array auf dem die Methode aufgerufen wurde.</p> + +<p>Die von <code>some()</code> zu verarbeitenden Elemente werden vor dem ersten Aufruf von <code>callback</code> ermittelt. Elemente, die nach dem Aufruf von <code>some()</code> zum Array hinzugefügt werden, werden nicht mit <code>callback</code> aufgerufen. <span id="result_box" lang="de"><span>Wird ein noch nicht besuchtes Element des Arrays durch </span></span><code>callback</code><span lang="de"><span> geändert, wird sein Wert, der an </span></span><code>callback</code><span lang="de"><span> </span></span><span lang="de"><span> übermittelt wird, der Wert zu dem Zeitpunkt, zu dem <code>some()</code> den Index besucht, sein.</span></span> Wird ein Element aus dem Array gelöscht, wird es nicht betrachtet.</p> + +<h2 id="Beispiele">Beispiele</h2> + +<h3 id="Werte_eines_Arrays_überprüfen">Werte eines Arrays überprüfen</h3> + +<p>Die folgenden Beispiele prüfen ob es ein Element größer als 10 im Array gibt.</p> + +<pre class="brush: js">function isBiggerThan10(element, index, array) { + return element > 10; +} + +[2, 5, 8, 1, 4].some(isBiggerThan10); // false +[12, 5, 8, 1, 4].some(isBiggerThan10); // true +</pre> + +<h3 id="Werte_eines_Arrays_mit_arrow_functions_überprüfen">Werte eines Arrays mit arrow functions überprüfen</h3> + +<p><a href="/de/docs/Web/JavaScript/Reference/Functions/Arrow_functions">Arrow Funktionen</a> ermöglichen eine kürzere Schreibweise für die gleiche Logik.</p> + +<pre class="brush: js">[2, 5, 8, 1, 4].some(x => x > 10); // false +[12, 5, 8, 1, 4].some(x => x > 10); // true +</pre> + +<h3 id="Prüfen_ob_ein_Element_in_einem_Array_existiert">Prüfen ob ein Element in einem Array existiert</h3> + +<p>Um die Methode <code>includes()</code> nachzuahmen, gibt die folgende Funktion <code>true</code> zurück, wenn das Element im Array existiert:</p> + +<pre class="brush: js">var fruits = ['apple', 'banana', 'mango', 'guava']; + +function checkAvailability(arr, val) { + return arr.some(function(arrVal) { + return val === arrVal; + }); +} + +checkAvailability(fruits, 'kela'); // false +checkAvailability(fruits, 'banana'); // true</pre> + +<h3 id="Prüfen_ob_ein_Element_in_einem_Array_existiert_mit_einer_arrow_function">Prüfen ob ein Element in einem Array existiert mit einer arrow function</h3> + +<pre class="brush: js">var fruits = ['apple', 'banana', 'mango', 'guava']; + +function checkAvailability(arr, val) { + return arr.some(arrVal => val === arrVal); +} + +checkAvailability(fruits, 'kela'); // false +checkAvailability(fruits, 'banana'); // true</pre> + +<h3 id="Jeden_Wert_in_einen_boolschen_Wert_konvertieren">Jeden Wert in einen boolschen Wert konvertieren</h3> + +<pre class="brush: js">var TRUTHY_VALUES = [true, 'true', 1]; + +function getBoolean(a) { + 'use strict'; + + var value = a; + + if (typeof value === 'string') { + value = value.toLowerCase().trim(); + } + + return TRUTHY_VALUES.some(function(t) { + return t === value; + }); +} + +getBoolean(false); // false +getBoolean('false'); // false +getBoolean(1); // true +getBoolean('true'); // true</pre> + +<h2 id="Polyfill">Polyfill</h2> + +<p><code>some()</code> wurde im Rahmen des ECMA-262 Standards in der 5. Edition hinzugefügt. Daher kann es sein, dass es nicht in allen Implementierungen des Standards enthalten ist. Diese Problem kann behoben werden, indem folgenden Quelltext vor Ihren Skripten eingefügt wird, wodurch Sie die <code>some()</code> Methode in Ihrem Programmcode verwenden können. Die nachfolgende Implementierung ist eine exakte Abdeckung der ECMA-262 Spezifikation in der 5. Edition, basierend auf der Annahme dass {{jsxref("Object")}} und {{jsxref("TypeError")}} Originalwerte aufweisen und dass <code>fun.call</code> den Originalwert von {{jsxref("Function.prototype.call()")}} liefert.</p> + +<pre class="brush: js">// Production steps of ECMA-262, Edition 5, 15.4.4.17 +// Reference: http://es5.github.io/#x15.4.4.17 +if (!Array.prototype.some) { + Array.prototype.some = function(fun/*, thisArg*/) { + 'use strict'; + + if (this == null) { + throw new TypeError('Array.prototype.some called on null or undefined'); + } + + if (typeof fun !== 'function') { + throw new TypeError(); + } + + var t = Object(this); + var len = t.length >>> 0; + + var thisArg = arguments.length >= 2 ? arguments[1] : void 0; + for (var i = 0; i < len; i++) { + if (i in t && fun.call(thisArg, t[i], i, t)) { + return true; + } + } + + return false; + }; +} +</pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spezifikation</th> + <th scope="col">Status</th> + <th scope="col">Kommentar</th> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.4.4.17', 'Array.prototype.some')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td>Initiale Definition. Implementiert in JavaScript 1.6.</td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-array.prototype.some', 'Array.prototype.some')}}</td> + <td>{{Spec2('ES6')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-array.prototype.some', 'Array.prototype.some')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + +<div> + + +<p>{{Compat("javascript.builtins.Array.some")}}</p> +</div> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{jsxref("Array.prototype.find()")}}</li> + <li>{{jsxref("Array.prototype.forEach()")}}</li> + <li>{{jsxref("Array.prototype.every()")}}</li> + <li>{{jsxref("TypedArray.prototype.some()")}}</li> +</ul> |