aboutsummaryrefslogtreecommitdiff
path: root/files/pl/web/javascript/referencje/obiekty/array/reduce/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/pl/web/javascript/referencje/obiekty/array/reduce/index.html')
-rw-r--r--files/pl/web/javascript/referencje/obiekty/array/reduce/index.html300
1 files changed, 0 insertions, 300 deletions
diff --git a/files/pl/web/javascript/referencje/obiekty/array/reduce/index.html b/files/pl/web/javascript/referencje/obiekty/array/reduce/index.html
deleted file mode 100644
index 8699a308c5..0000000000
--- a/files/pl/web/javascript/referencje/obiekty/array/reduce/index.html
+++ /dev/null
@@ -1,300 +0,0 @@
----
-title: Array.prototype.reduce()
-slug: Web/JavaScript/Referencje/Obiekty/Array/Reduce
-translation_of: Web/JavaScript/Reference/Global_Objects/Array/Reduce
----
-<div>{{JSRef("Global_Objects", "Array")}}</div>
-
-<h2 id="Summary" name="Summary">Podsumowanie</h2>
-
-<p><code><font face="Open Sans, Arial, sans-serif">Metoda </font><strong>reduce()</strong></code> wywołuje funkcję względem wartości przyrostowej z każdego wywołania i kolejnego elementu tablicy (od lewej do prawej) w celu sprowadzenia tej tablicy do pojedynczej wartości.</p>
-
-<h2 id="Syntax" name="Syntax">Składnia</h2>
-
-<pre class="syntaxbox"><code><var>arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])</var></code></pre>
-
-<h3 id="Parametry">Parametry</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>Funkcja wykonywana na każdej wartości w tablicy, przyjmuje cztery argumenty:
- <dl>
- <dt><code>previousValue</code></dt>
- <dt></dt>
- <dd>Wartość zwróconą w ostatnim wywołaniu funkcji <code>callback</code>, lub <code>initialValue</code>, jeśli ta została dostarczona. (Patrz niżej.)</dd>
- <dt><code>currentValue</code></dt>
- <dd>Obecnie przetwarzany element w tablicy.</dd>
- <dt><code>index</code></dt>
- <dd>Indeks w tablicy obecnie przetwarzanego elementu.</dd>
- <dt><code>array</code></dt>
- <dd>Tablica, na której została wykonana funkcja <code>reduce</code> .</dd>
- </dl>
- </dd>
- <dt><code>initialValue</code></dt>
- <dd>Opcjonalne. Obiekt który będzie użyty jako pierwszy argument pierwszego wywołania funkcji <code>callback</code>.</dd>
-</dl>
-
-<h2 id="Description" name="Description">Opis</h2>
-
-<p><code>reduce</code> wykonuje funkcję <code>callback</code> raz dla każdego elementu występującego w tablicy, wyłączając dziury. Funkcja <code>callback</code> przyjmuje cztery argumenty: wartość początkową (lub wartość poprzedniego wywołania <code>callback)</code>, wartość obecnego elementu, jego indeks, oraz tablicę na której zachodzi proces iteracji.</p>
-
-<p>Przy pierwszym wywołaniu funkcji <code>callback, previousValue</code> oraz <code>currentValue</code> mogą przyjąć jedną z dwóch wartości. Jeżeli <code>initialValue</code> było dostarczone w wywołaniu, wtedy <code>previousValue</code> przyjmie wartość podaną jako <code>initialValue</code>, natomiast <code>currentValue</code> przyjmie wartość pierwszego elementu tablicy. Jeśli <code>initialValue</code> nie było podane, wtedy <code>previousValue</code> będzie miało wartość pierwszego elementu tablicy, natomiast <code>currentValue</code> będzie równe elementowi drugiemu.</p>
-
-<p>Jeżeli tablica jest pusta oraz <code>initialValue</code> nie zostało dostarczone, będzie rzucony błąd {{jsxref("Global_Objects/TypeError", "TypeError")}}. Jeśli natomiast tablica ma jeden tylko element (bez względu na jego pozycję) i <code>initialValue</code> nie zostało podane, lub dostarczono <code>initialValue</code>, ale tablica jest pusta, wtedy ta jedyna wartość zostanie zwrócona, bez wywoływania funkcji <code>callback</code>.</p>
-
-<p>Przyjmijmy, że wystąpiło następujące wywolanie funkcji <code>reduce</code>:</p>
-
-<pre class="brush: js">[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array) {
- return previousValue + currentValue;
-});
-</pre>
-
-<p>Funkcja callback będzie wywołana cztery razy, z argumentami i wartościami zwrotnymi przy każdym wołaniu jak następuje:</p>
-
-<table style="width: 100%;">
- <thead>
- <tr>
- <th scope="col"></th>
- <th scope="col"><code>previousValue</code></th>
- <th scope="col"><code>currentValue</code></th>
- <th scope="col"><code>index</code></th>
- <th scope="col"><code>array</code></th>
- <th scope="col">wartość zwracana</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">pierwsze wywołanie</th>
- <td><code>0</code></td>
- <td><code>1</code></td>
- <td><code>1</code></td>
- <td><code>[0, 1, 2, 3, 4]</code></td>
- <td><code>1</code></td>
- </tr>
- <tr>
- <th scope="row">drugie wywołanie</th>
- <td><code>1</code></td>
- <td><code>2</code></td>
- <td><code>2</code></td>
- <td><code>[0, 1, 2, 3, 4]</code></td>
- <td><code>3</code></td>
- </tr>
- <tr>
- <th scope="row">trzecie wywołanie</th>
- <td><code>3</code></td>
- <td><code>3</code></td>
- <td><code>3</code></td>
- <td><code>[0, 1, 2, 3, 4]</code></td>
- <td><code>6</code></td>
- </tr>
- <tr>
- <th scope="row">czwarte wywołanie</th>
- <td><code>6</code></td>
- <td><code>4</code></td>
- <td><code>4</code></td>
- <td><code>[0, 1, 2, 3, 4]</code></td>
- <td><code>10</code></td>
- </tr>
- </tbody>
-</table>
-
-<p>Wartość zwrócona ostatecznie przez <code>reduce</code> będzie tą z ostatniego wywołania funcji callback (<code>10</code>).</p>
-
-<p>Natomiast, jeśli dostarczylibyśmy wartość początkową jako drugi argument funkcji przekazanej do <code>reduce</code>, wynik wyglądałby jak poniżej:</p>
-
-<pre class="brush: js">[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array) {
- return previousValue + currentValue;
-}, 10);
-</pre>
-
-<table style="width: 100%;">
- <thead>
- <tr>
- <th scope="col"></th>
- <th scope="col"><code>previousValue</code></th>
- <th scope="col"><code>currentValue</code></th>
- <th scope="col"><code>index</code></th>
- <th scope="col"><code>array</code></th>
- <th scope="col">wartość zwracana</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">pierwsze wywołanie</th>
- <td><code>10</code></td>
- <td><code>0</code></td>
- <td><code>0</code></td>
- <td><code>[0, 1, 2, 3, 4]</code></td>
- <td><code>10</code></td>
- </tr>
- <tr>
- <th scope="row">drugie wywołanie</th>
- <td><code>10</code></td>
- <td><code>1</code></td>
- <td><code>1</code></td>
- <td><code>[0, 1, 2, 3, 4]</code></td>
- <td><code>11</code></td>
- </tr>
- <tr>
- <th scope="row">trzecie wywołanie</th>
- <td><code>11</code></td>
- <td><code>2</code></td>
- <td><code>2</code></td>
- <td><code>[0, 1, 2, 3, 4]</code></td>
- <td><code>13</code></td>
- </tr>
- <tr>
- <th scope="row">czwarte wywołanie</th>
- <td><code>13</code></td>
- <td><code>3</code></td>
- <td><code>3</code></td>
- <td><code>[0, 1, 2, 3, 4]</code></td>
- <td><code>16</code></td>
- </tr>
- <tr>
- <th scope="row">piąte wywołanie</th>
- <td><code>16</code></td>
- <td><code>4</code></td>
- <td><code>4</code></td>
- <td><code>[0, 1, 2, 3, 4]</code></td>
- <td><code>20</code></td>
- </tr>
- </tbody>
-</table>
-
-<p>Tym razem wartość zwrócona przez <code>reduce</code> będzie wynosiła <code>20</code>.</p>
-
-<h2 id="Examples" name="Examples">Przykłady</h2>
-
-<h3 id="Example_Sum_up_all_values_within_an_array" name="Example:_Sum_up_all_values_within_an_array">Przykład: Zsumowanie wszystkich wartości w tablicy.</h3>
-
-<pre class="brush: js">var total = [0, 1, 2, 3].reduce(function(a, b) {
- return a + b;
-});
-// total == 6
-</pre>
-
-<h3 id="Example_Flatten_an_array_of_arrays" name="Example:_Flatten_an_array_of_arrays">Przykład: Spłaszczenie tablicy tablic</h3>
-
-<pre class="brush: js">var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
- return a.concat(b);
-});
-// flattened is [0, 1, 2, 3, 4, 5]
-</pre>
-
-<h2 id="Polyfill" name="Polyfill">Polyfill</h2>
-
-<p><code>Array.prototype.reduce</code> zostało dodane do standardu ECMA-262 w edycji piątej i jako takie może nie występować we wszystkich implementacji standardu. Można obejśc ten brak poprzez wstawienie poniższego kodu na początku skryptu, co pozwala na użycie <code>reduce</code> z implementacjami, które nie wspierają tej funkcji.</p>
-
-<pre class="brush: js">// Production steps of ECMA-262, Edition 5, 15.4.4.21
-// Reference: http://es5.github.io/#x15.4.4.21
-if (!Array.prototype.reduce) {
- Array.prototype.reduce = function(callback /*, initialValue*/) {
- 'use strict';
- if (this == null) {
- throw new TypeError('Array.prototype.reduce called on null or undefined');
- }
- if (typeof callback !== 'function') {
- throw new TypeError(callback + ' is not a function');
- }
- var t = Object(this), len = t.length &gt;&gt;&gt; 0, k = 0, value;
- if (arguments.length == 2) {
- value = arguments[1];
- } else {
- while (k &lt; len &amp;&amp; !(k in t)) {
- k++;
- }
- if (k &gt;= len) {
- throw new TypeError('Reduce of empty array with no initial value');
- }
- value = t[k++];
- }
- for (; k &lt; len; k++) {
- if (k in t) {
- value = callback(value, t[k], k, t);
- }
- }
- return value;
- };
-}
-</pre>
-
-<h2 id="Specifications" name="Specifications">Specyfikacja</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specyfikacja</th>
- <th scope="col">Stan</th>
- <th scope="col">Komentarz</th>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.4.4.21', 'Array.prototype.reduce')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Definicja początkowa. Wprowadzon w JavaScript 1.8.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-array.prototype.reduce', 'Array.prototype.reduce')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">Wspierane przeglądarki</h2>
-
-<div>{{CompatibilityTable}}</div>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatGeckoDesktop("1.9")}}</td>
- <td>{{CompatIE("9")}}</td>
- <td>{{CompatOpera("10.5")}}</td>
- <td>{{CompatSafari("4.0")}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also" name="See_also">Zobacz też</h2>
-
-<ul>
- <li>{{jsxref("Array.prototype.reduceRight()")}}</li>
-</ul>