From 3dc257a6def33fe6b58cf8d8ff4326f750844efa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Feje=C5=A1?= Date: Tue, 19 Dec 2017 21:35:56 +0100 Subject: [PATCH 1/7] add isPrime --- snippets/isPrime.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 snippets/isPrime.md diff --git a/snippets/isPrime.md b/snippets/isPrime.md new file mode 100644 index 000000000..1906c7d18 --- /dev/null +++ b/snippets/isPrime.md @@ -0,0 +1,14 @@ +### 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 +``` From 8f0ab87b9e7166bdba96a40ec00f38f0e2df4735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Feje=C5=A1?= Date: Tue, 19 Dec 2017 21:37:13 +0100 Subject: [PATCH 2/7] add isPrime to tag_database --- tag_database | 1 + 1 file changed, 1 insertion(+) diff --git a/tag_database b/tag_database index 45af1e960..5eb4c145c 100644 --- a/tag_database +++ b/tag_database @@ -56,6 +56,7 @@ isDivisible:math isEven:math isFunction:utility isNumber:utility +isPrime:math isString:utility isSymbol:utility JSONToDate:date From 271c3e57d5e71d1e783d0ae2a640a35096117bd9 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 3/7] 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. From 6c9459fcf13b6eac4e778353e578e36596ce1e18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Feje=C5=A1?= Date: Tue, 19 Dec 2017 21:46:07 +0100 Subject: [PATCH 4/7] fix typo --- snippets/isPrime.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/isPrime.md b/snippets/isPrime.md index 1906c7d18..a03e070f9 100644 --- a/snippets/isPrime.md +++ b/snippets/isPrime.md @@ -1,6 +1,6 @@ ### isPrime -Checks if the provided intiger is primer number. +Checks if the provided intiger is prime number. Returns `false` if the provided number has positive divisors other than 1 and itself or if the number itself is less than 2. From 3dcf5d687eca7f27bdd874a9030e6ffc3815485c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Feje=C5=A1?= Date: Tue, 19 Dec 2017 21:46:36 +0100 Subject: [PATCH 5/7] fix typo --- README.md | 16 ++++++++-------- docs/index.html | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d8c665c1a..15d49d34e 100644 --- a/README.md +++ b/README.md @@ -408,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] @@ -463,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) @@ -535,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; } @@ -562,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; @@ -1219,7 +1219,7 @@ const isEven = num => num % 2 === 0; ### isPrime -Checks if the provided intiger is primer number. +Checks if the provided intiger is prime number. Returns `false` if the provided number has positive divisors other than 1 and itself or if the number itself is less than 2. @@ -1527,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 b89e58491..62226119f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -302,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]
@@ -329,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)
@@ -379,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; } @@ -396,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;
@@ -763,7 +763,7 @@ Returns true if the number is even, false if the numbe
 // isEven(3) -> false
 

isPrime

-

Checks if the provided intiger is primer number.

+

Checks if the provided intiger is prime 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;

From 1bb1b662752f190677d0dcd3ef6c8accc8a94d84 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Feje=C5=A1?= 
Date: Tue, 19 Dec 2017 22:22:15 +0100
Subject: [PATCH 6/7] fix typo again

---
 README.md           | 2 +-
 docs/index.html     | 2 +-
 snippets/isPrime.md | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 15d49d34e..39f165be1 100644
--- a/README.md
+++ b/README.md
@@ -1219,7 +1219,7 @@ const isEven = num => num % 2 === 0;
 
 ### isPrime
 
-Checks if the provided intiger is prime number.
+Checks if the provided integer is a prime number.
 
 Returns `false` if the provided number has positive divisors other than 1 and itself or if the number itself is less than 2.
 
diff --git a/docs/index.html b/docs/index.html
index 62226119f..7648b07e7 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -763,7 +763,7 @@ Returns true if the number is even, false if the numbe
 // isEven(3) -> false
 

isPrime

-

Checks if the provided intiger is prime number.

+

Checks if the provided integer is a prime 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;
diff --git a/snippets/isPrime.md b/snippets/isPrime.md
index a03e070f9..b372f057f 100644
--- a/snippets/isPrime.md
+++ b/snippets/isPrime.md
@@ -1,6 +1,6 @@
 ### isPrime
 
-Checks if the provided intiger is prime number.
+Checks if the provided integer is a prime number.
 
 Returns `false` if the provided number has positive divisors other than 1 and itself or if the number itself is less than 2.
 

From ebb26fac6098640f33aa721512667403c4b300b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Feje=C5=A1?= 
Date: Wed, 20 Dec 2017 09:28:53 +0100
Subject: [PATCH 7/7] fix curly braces

---
 README.md           | 3 ++-
 docs/index.html     | 3 ++-
 snippets/isPrime.md | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 39f165be1..715b1a3c9 100644
--- a/README.md
+++ b/README.md
@@ -1224,9 +1224,10 @@ Checks if the provided integer is a prime 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 =>
+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
diff --git a/docs/index.html b/docs/index.html
index 7648b07e7..d0bd32993 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -765,9 +765,10 @@ Returns true if the number is even, false if the numbe
 

isPrime

Checks if the provided integer is a prime 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 =>
+
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
diff --git a/snippets/isPrime.md b/snippets/isPrime.md
index b372f057f..cc1f69b14 100644
--- a/snippets/isPrime.md
+++ b/snippets/isPrime.md
@@ -5,9 +5,10 @@ Checks if the provided integer is a prime 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 =>
+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