From bd1d37f528f3d946fe7c0033df2be56f2f4cb16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Feje=C5=A1?= Date: Tue, 19 Dec 2017 21:38:05 +0100 Subject: [PATCH] build website and readme.md --- README.md | 32 +++++++++++++++++++++++++------- docs/index.html | 19 +++++++++++++++---- 2 files changed, 40 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index bce4069d1..d8c665c1a 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,7 @@ * [`hammingDistance`](#hammingdistance) * [`isDivisible`](#isdivisible) * [`isEven`](#iseven) +* [`isPrime`](#isprime) * [`lcm`](#lcm) * [`median`](#median) * [`palindrome`](#palindrome) @@ -407,7 +408,7 @@ Use `Array((end + 1) - start)` to create an array of the desired length, `Array. You can omit `start` to use a default value of `0`. ```js -const initializeArrayWithRange = (end, start = 0) => +const initializeArrayWithRange = (end, start = 0) => Array.from({ length: (end + 1) - start }).map((v, i) => i + start); // initializeArrayWithRange(5) -> [0,1,2,3,4,5] // initializeArrayWithRange(7, 3) -> [3,4,5,6,7] @@ -462,7 +463,7 @@ Maps the values of an array to an object using a function, where the key-value p Use an anonymous inner function scope to declare an undefined memory space, using closures to store a return value. Use a new `Array` to stor the array with a map of the function over its data set and a comma operator to return a second step, without needing to move from one context to another (due to closures and order of operations). ```js -const mapObject = (arr, fn) => +const mapObject = (arr, fn) => (a => (a = [arr, arr.map(fn)], a[0].reduce( (acc,val,ind) => (acc[val] = a[1][ind], acc), {}) )) ( ); /* const squareIt = arr => mapObject(arr, a => a*a) @@ -534,14 +535,14 @@ Mutates the original array to filter out the values at the specified indexes. Use `Array.filter()` and `Array.includes()` to pull out the values that are not needed. Use `Array.length = 0` to mutate the passed in array by resetting it's length to zero and `Array.push()` to re-populate it with only the pulled values. -Use `Array.push()` to keep track of pulled values +Use `Array.push()` to keep track of pulled values ```js const pullAtIndex = (arr, pullArr) => { let removed = []; let pulled = arr.map((v, i) => pullArr.includes(i) ? removed.push(v) : v) .filter((v, i) => !pullArr.includes(i)) - arr.length = 0; + arr.length = 0; pulled.forEach(v => arr.push(v)); return removed; } @@ -561,11 +562,11 @@ Mutates the original array to filter out the values specified. Returns the remov Use `Array.filter()` and `Array.includes()` to pull out the values that are not needed. Use `Array.length = 0` to mutate the passed in array by resetting it's length to zero and `Array.push()` to re-populate it with only the pulled values. -Use `Array.push()` to keep track of pulled values +Use `Array.push()` to keep track of pulled values ```js const pullAtValue = (arr, pullArr) => { - let removed = [], + let removed = [], pushToRemove = arr.forEach((v, i) => pullArr.includes(v) ? removed.push(v) : v), mutateTo = arr.filter((v, i) => !pullArr.includes(v)); arr.length = 0; @@ -1216,6 +1217,23 @@ const isEven = num => num % 2 === 0; [⬆ back to top](#table-of-contents) +### isPrime + +Checks if the provided intiger is primer number. + +Returns `false` if the provided number has positive divisors other than 1 and itself or if the number itself is less than 2. + +```js +const isPrime = num => + for (var i = 2; i < num; i++) if (num % i == 0) return false; + return num >= 2; +// isPrime(11) -> true +// isPrime(12) -> false +// isPrime(1) -> false +``` + +[⬆ back to top](#table-of-contents) + ### lcm Returns the least common multiple of two numbers. @@ -1509,7 +1527,7 @@ a === b -> false Checks if the predicate (second argument) is truthy on all elements of a collection (first argument). Use `Array.every()` to check if each passed object has the specified property and if it returns a truthy value. - + ```js truthCheckCollection = (collection, pre) => (collection.every(obj => obj[pre])); // truthCheckCollection([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}], "sex") -> true diff --git a/docs/index.html b/docs/index.html index 38b5a08ac..b89e58491 100644 --- a/docs/index.html +++ b/docs/index.html @@ -112,6 +112,7 @@ hammingDistance isDivisible isEven +isPrime lcm median palindrome @@ -301,7 +302,7 @@ Use Array.reduce() to create an object, where the keys are produced

Initializes an array containing the numbers in the specified range where start and end are inclusive.

Use Array((end + 1) - start) to create an array of the desired length, Array.map() to fill with the desired values in a range. You can omit start to use a default value of 0.

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


mapObject

Maps the values of an array to an object using a function, where the key-value pairs consist of the original value as the key and the mapped value.

Use an anonymous inner function scope to declare an undefined memory space, using closures to store a return value. Use a new Array to stor the array with a map of the function over its data set and a comma operator to return a second step, without needing to move from one context to another (due to closures and order of operations).

-
const mapObject = (arr, fn) => 
+
const mapObject = (arr, fn) =>
   (a => (a = [arr, arr.map(fn)], a[0].reduce( (acc,val,ind) => (acc[val] = a[1][ind], acc), {}) )) ( );
 /*
 const squareIt = arr => mapObject(arr, a => a*a)
@@ -378,7 +379,7 @@ Use Array.push() to keep track of pulled values

let removed = []; let pulled = arr.map((v, i) => pullArr.includes(i) ? removed.push(v) : v) .filter((v, i) => !pullArr.includes(i)) - arr.length = 0; + arr.length = 0; pulled.forEach(v => arr.push(v)); return removed; } @@ -395,7 +396,7 @@ Use Array.push() to keep track of pulled values

Use Array.length = 0 to mutate the passed in array by resetting it's length to zero and Array.push() to re-populate it with only the pulled values. Use Array.push() to keep track of pulled values

const pullAtValue = (arr, pullArr) => {
-  let removed = [], 
+  let removed = [],
     pushToRemove = arr.forEach((v, i) => pullArr.includes(v) ? removed.push(v) : v),
     mutateTo = arr.filter((v, i) => !pullArr.includes(v));
   arr.length = 0;
@@ -761,6 +762,16 @@ Returns true if the number is even, false if the numbe
 
const isEven = num => num % 2 === 0;
 // isEven(3) -> false
 
+

isPrime

+

Checks if the provided intiger is primer number.

+

Returns false if the provided number has positive divisors other than 1 and itself or if the number itself is less than 2.

+
const isPrime = num =>
+  for (var i = 2; i < num; i++) if (num % i == 0) return false;
+  return num >= 2;
+// isPrime(11) -> true
+// isPrime(12) -> false
+// isPrime(1) -> false
+

lcm

Returns the least common multiple of two numbers.

Use the greatest common divisor (GCD) formula and Math.abs() to determine the least common multiple.