Updated description, tags

This commit is contained in:
Angelos Chalaris
2018-01-23 15:59:43 +02:00
parent f7d815f0d9
commit fb37df560d
2 changed files with 8 additions and 3 deletions

View File

@ -1,8 +1,12 @@
### zipWith ### zipWith
This method is like [zip](https://30secondsofcode.org/#zip) except that it accepts a function (`fn`) as the last value to specify how grouped values should be combined. Creates an array of elements, grouped based on the position in the original arrays and using function as the last value to specify how grouped values should be combined.
The function is invoked with the elements of each group: `(...group)`. Check if the last argument provided in a function.
Use `Math.max()` to get the longest array in the arguments.
Creates an array with that length as return value and use `Array.from()` with a map-function to create an array of grouped elements.
If lengths of the argument-arrays vary, `undefined` is used where no value could be found.
The function is invoked with the elements of each group `(...group)`.
``` js ``` js
const zipWith = (...arrays) => { const zipWith = (...arrays) => {
@ -19,5 +23,5 @@ const zipWith = (...arrays) => {
``` js ``` js
zipWith([1, 2], [10, 20], [100, 200], (a,b,c) => a + b + c); // [111,222] zipWith([1, 2], [10, 20], [100, 200], (a,b,c) => a + b + c); // [111,222]
zipWith([1, 2, 3], [10, 20], [100, 200], (a,b,c) => (a != null ? a : 'a') + (b != null ? b:'b') + (c != null ? c : 'c')); // [111, 222, '3bc] zipWith([1, 2, 3], [10, 20], [100, 200], (a,b,c) => (a != null ? a : 'a') + (b != null ? b:'b') + (c != null ? c : 'c')); // [111, 222, '3bc']
``` ```

View File

@ -216,3 +216,4 @@ words:string,regexp
yesNo:utility,regexp yesNo:utility,regexp
zip:array zip:array
zipObject:array,object zipObject:array,object
zipWith:array,advanced