Merge branch 'master' into master

This commit is contained in:
Angelos Chalaris
2017-12-16 13:49:06 +02:00
committed by GitHub
10 changed files with 53 additions and 13 deletions

View File

@ -85,7 +85,7 @@
* [Speech synthesis (experimental)](#speech-synthesis-experimental) * [Speech synthesis (experimental)](#speech-synthesis-experimental)
### Node ### Node
* [Write json to file](#write-json-to-file) * [Write JSON to file](#write-json-to-file)
### Object ### Object
* [Object from key value pairs](#object-from-key-value-pairs) * [Object from key value pairs](#object-from-key-value-pairs)
@ -967,7 +967,7 @@ const speak = message => {
[⬆ back to top](#table-of-contents) [⬆ back to top](#table-of-contents)
## Node ## Node
### Write a JSON to a file ### Write JSON to file
Use `fs.writeFile()`, template literals and `JSON.stringify()` to write a `json` object to a `.json` file. Use `fs.writeFile()`, template literals and `JSON.stringify()` to write a `json` object to a `.json` file.

View File

@ -0,0 +1,11 @@
### 3DigHexcode to 6DigHexcode
Use `Array.map()`, `split()` and `Array.join()` to join the mapped array for converting a three-digit RGB notated hexadecimal colorcode to the six-digit form.
```js
const convertHex = shortHex =>
shortHex[0] == '#' ? ('#' + shortHex.slice(1).split('').map(x => x+x).join('')) :
('#' + shortHex.split('').map(x => x+x).join(''));
// convertHex('#03f') -> '#0033ff'
// convertHex('05a') -> '#0055aa'
```

View File

@ -1,8 +1,8 @@
### Array concatenation ### Array concatenation
Use `Array.concat()` to concatenate an array with any additional arrays and/or values, specified in `args`. Use Array spread operators (`...`) to concatenate an array with any additional arrays and/or values, specified in `args`.
```js ```js
const ArrayConcat = (arr, ...args) => [].concat(arr, ...args); const ArrayConcat = (arr, ...args) => [...arr,...args];
// ArrayConcat([1], [1, 2, 3, [4]]) -> [1, 2, 3, [4]] // ArrayConcat([1], [1, 2, 3, [4]]) -> [1, 1, 2, 3, [4]]
``` ```

View File

@ -1,9 +1,9 @@
### Array without ### Array without
Use `Array.filter()` to create an array excluding all given values. Use `Array.filter()` to create an array excluding(using `!Array.includes()`) all given values.
```js ```js
const without = (arr, ...args) => arr.filter(v => args.indexOf(v) === -1); const without = (arr, ...args) => arr.filter(v => !args.includes(v));
// without[2, 1, 2, 3], 1, 2) -> [3] // without([2, 1, 2, 3], 1, 2) -> [3]
// without([2, 1, 2, 3, 4, 5, 5, 5, 3, 2, 7, 7], 3, 1, 5, 2) -> [ 4, 7, 7 ] // without([2, 1, 2, 3, 4, 5, 5, 5, 3, 2, 7, 7], 3, 1, 5, 2) -> [ 4, 7, 7 ]
``` ```

View File

@ -1,6 +1,6 @@
### Compose functions ### Compose functions
Use `Array.reduce()` with the spread operator (`...`) to perform right-to-;eft function composition. Use `Array.reduce()` to perform right-to-left function composition.
The last (rightmost) function can accept one or more arguments; the remaining functions must be unary. The last (rightmost) function can accept one or more arguments; the remaining functions must be unary.
```js ```js

View File

@ -5,6 +5,6 @@ You can omit `start` to use a default value of `0`.
```js ```js
const initializeArrayRange = (end, start = 0) => const initializeArrayRange = (end, start = 0) =>
Array.apply(null, Array(end - start)).map((v, i) => i + start); Array.from({ length: end - start }).map((v, i) => i + start)
// initializeArrayRange(5) -> [0,1,2,3,4] // initializeArrayRange(5) -> [0,1,2,3,4]
``` ```

View File

@ -0,0 +1,19 @@
### Read a file to an Array
Use `readFileSync` function in `fs` node package to create a `Buffer` from a file.
convert buffer to string using `toString(encoding)` function.
creating an array from contents of file by `split`ing file content line by line(each `\n`).
```js
const fs = require('fs');
const readFileToArray = filename => fs.readFileSync(filename).toString('UTF8').split('\n');
/*
contents of test.txt :
line1
line2
line3
___________________________
let arr = readFileToArray('test.txt')
console.log(arr) // -> ['line1', 'line2', 'line3']
*/
```

View File

@ -0,0 +1,8 @@
### Take every nth element of an array
Use `Array.filter()` to create a new array that contains every nth element of a given array.
```js
const everynth = (arr, nth) => arr.filter((e, i) => i % nth === 0);
// everynth([1,2,3,4,5,6], 2) -> [ 1, 3, 5 ]
```

View File

@ -1,4 +1,4 @@
### Write a JSON to a file ### Write JSON to file
Use `fs.writeFile()`, template literals and `JSON.stringify()` to write a `json` object to a `.json` file. Use `fs.writeFile()`, template literals and `JSON.stringify()` to write a `json` object to a `.json` file.

View File

@ -67,6 +67,7 @@ powerset:math
promisify:function promisify:function
random-integer-in-range:utility random-integer-in-range:utility
random-number-in-range:utility random-number-in-range:utility
read-file-to-array:node
redirect-to-URL:browser redirect-to-URL:browser
reverse-a-string:string reverse-a-string:string
RGB-to-hexadecimal:utility RGB-to-hexadecimal:utility
@ -85,6 +86,7 @@ swap-values-of-two-variables:utility
tail-of-list:array tail-of-list:array
take-right:array take-right:array
take:array take:array
take-every-nth-element:array
truncate-a-string:string truncate-a-string:string
unique-values-of-array:array unique-values-of-array:array
URL-parameters:utility URL-parameters:utility
@ -92,4 +94,4 @@ UUID-generator:utility
validate-email:utility validate-email:utility
validate-number:utility validate-number:utility
value-or-default:utility value-or-default:utility
write-json-to-file:node write-JSON-to-file:node