Tag
This commit is contained in:
35
README.md
35
README.md
@ -61,6 +61,7 @@
|
||||
* [`elementIsVisibleInViewport`](#elementisvisibleinviewport)
|
||||
* [`getScrollPosition`](#getscrollposition)
|
||||
* [`getURLParameters`](#geturlparameters)
|
||||
* [`httpsRedirect`](#httpsredirect)
|
||||
* [`redirect`](#redirect)
|
||||
* [`scrollToTop`](#scrolltotop)
|
||||
|
||||
@ -100,6 +101,7 @@
|
||||
* [`palindrome`](#palindrome)
|
||||
* [`percentile`](#percentile)
|
||||
* [`powerset`](#powerset)
|
||||
* [`primes`](#primes)
|
||||
* [`randomIntegerInRange`](#randomintegerinrange)
|
||||
* [`randomNumberInRange`](#randomnumberinrange)
|
||||
* [`round`](#round)
|
||||
@ -901,6 +903,20 @@ const getURLParameters = url =>
|
||||
|
||||
[⬆ back to top](#table-of-contents)
|
||||
|
||||
### httpsRedirect
|
||||
|
||||
Redirects the page to HTTPS if its currently in HTTP. Also, pressing the back button doesn't take it back to the HTTP page as its replaced in the history.
|
||||
|
||||
Use `location.protocol` to get the protocol currently being used. If it's not HTTPS, use `location.replace()` to replace the existing page with the HTTPS version of the page. Use `location.href` to get the full address, split it with `String.split()` and remove the protocol part of the URL.
|
||||
|
||||
```js
|
||||
const httpsRedirect = () => {
|
||||
if(location.protocol !== "https:") location.replace("https://" + location.href.split("//")[1]);
|
||||
}
|
||||
```
|
||||
|
||||
[⬆ back to top](#table-of-contents)
|
||||
|
||||
### redirect
|
||||
|
||||
Redirects to a specified URL.
|
||||
@ -1439,6 +1455,25 @@ const powerset = arr =>
|
||||
|
||||
[⬆ back to top](#table-of-contents)
|
||||
|
||||
### primes
|
||||
|
||||
Generates primes up to a given number, using the Sieve of Eratosthenes.
|
||||
|
||||
Generate an array from `2` to the given number. Use `Array.filter()` to filter out the values divisible by any number from `2` to the square root of the provided number.
|
||||
|
||||
```js
|
||||
const primes = num => {
|
||||
let arr = Array.from({length:num-1}).map((x,i)=> i+2),
|
||||
sqroot = Math.floor(Math.sqrt(num)),
|
||||
numsTillSqroot = Array.from({length:sqroot-1}).map((x,i)=> i+2);
|
||||
numsTillSqroot.forEach(x => arr = arr.filter(y => ((y%x)!==0)||(y==x)));
|
||||
return arr;
|
||||
}
|
||||
// primes(10) -> [2,3,5,7]
|
||||
```
|
||||
|
||||
[⬆ back to top](#table-of-contents)
|
||||
|
||||
### randomIntegerInRange
|
||||
|
||||
Returns a random integer in the specified range.
|
||||
|
||||
@ -92,6 +92,7 @@
|
||||
<a class="sublink-1" href="#elementisvisibleinviewport">elementIsVisibleInViewport</a>
|
||||
<a class="sublink-1" href="#getscrollposition">getScrollPosition</a>
|
||||
<a class="sublink-1" href="#geturlparameters">getURLParameters</a>
|
||||
<a class="sublink-1" href="#httpsredirect">httpsRedirect</a>
|
||||
<a class="sublink-1" href="#redirect">redirect</a>
|
||||
<a class="sublink-1" href="#scrolltotop">scrollToTop</a>
|
||||
|
||||
@ -131,6 +132,7 @@
|
||||
<a class="sublink-1" href="#palindrome">palindrome</a>
|
||||
<a class="sublink-1" href="#percentile">percentile</a>
|
||||
<a class="sublink-1" href="#powerset">powerset</a>
|
||||
<a class="sublink-1" href="#primes">primes</a>
|
||||
<a class="sublink-1" href="#randomintegerinrange">randomIntegerInRange</a>
|
||||
<a class="sublink-1" href="#randomnumberinrange">randomNumberInRange</a>
|
||||
<a class="sublink-1" href="#round">round</a>
|
||||
@ -593,6 +595,13 @@ Pass <code>location.search</code> as the argument to apply to the current <code>
|
||||
);
|
||||
// getURLParameters('http://url.com/page?name=Adam&surname=Smith') -> {name: 'Adam', surname: 'Smith'}
|
||||
</code></pre>
|
||||
</div></div><br/><div class="card fluid"><div class="section double-padded"><h3 id="httpsredirect">httpsRedirect</h3></div><div class="section double-padded">
|
||||
<p>Redirects the page to HTTPS if its currently in HTTP. Also, pressing the back button doesn't take it back to the HTTP page as its replaced in the history.</p>
|
||||
<p>Use <code>location.protocol</code> to get the protocol currently being used. If it's not HTTPS, use <code>location.replace()</code> to replace the existing page with the HTTPS version of the page. Use <code>location.href</code> to get the full address, split it with <code>String.split()</code> and remove the protocol part of the URL.</p>
|
||||
<pre><code class="language-js">const httpsRedirect = () => {
|
||||
if(location.protocol !== "https:") location.replace("https://" + location.href.split("//")[1]);
|
||||
}
|
||||
</code></pre>
|
||||
</div></div><br/><div class="card fluid"><div class="section double-padded"><h3 id="redirect">redirect</h3></div><div class="section double-padded">
|
||||
<p>Redirects to a specified URL.</p>
|
||||
<p>Use <code>window.location.href</code> or <code>window.location.replace()</code> to redirect to <code>url</code>.
|
||||
@ -789,7 +798,7 @@ Throws an exception if <code>n</code> is a negative number.</p>
|
||||
<p>Create an empty array of the specific length, initializing the first two values (<code>0</code> and <code>1</code>).
|
||||
Use <code>Array.reduce()</code> to add values into the array, using the sum of the last two values, except for the first two.</p>
|
||||
<pre><code class="language-js">const fibonacci = n =>
|
||||
Array(n).fill(0).reduce((acc, val, i) => acc.concat(i > 1 ? acc[i - 1] + acc[i - 2] : i), []);
|
||||
Array.from({ length: n}).map(v => 0).reduce((acc, val, i) => acc.concat(i > 1 ? acc[i - 1] + acc[i - 2] : i), []);
|
||||
// fibonacci(5) -> [0,1,1,2,3]
|
||||
</code></pre>
|
||||
</div></div><br/><div class="card fluid"><div class="section double-padded"><h3 id="gcd">gcd</h3></div><div class="section double-padded">
|
||||
@ -899,6 +908,18 @@ Then, <code>split('')</code> into individual characters, <code>reverse()</code>,
|
||||
arr.reduce((a, v) => a.concat(a.map(r => [v].concat(r))), [[]]);
|
||||
// powerset([1,2]) -> [[], [1], [2], [2,1]]
|
||||
</code></pre>
|
||||
</div></div><br/><div class="card fluid"><div class="section double-padded"><h3 id="primes">primes</h3></div><div class="section double-padded">
|
||||
<p>Generates primes up to a given number, using the Sieve of Eratosthenes.</p>
|
||||
<p>Generate an array from <code>2</code> to the given number. Use <code>Array.filter()</code> to filter out the values divisible by any number from <code>2</code> to the square root of the provided number.</p>
|
||||
<pre><code class="language-js">const primes = num => {
|
||||
let arr = Array.from({length:num-1}).map((x,i)=> i+2),
|
||||
sqroot = Math.floor(Math.sqrt(num)),
|
||||
numsTillSqroot = Array.from({length:sqroot-1}).map((x,i)=> i+2);
|
||||
numsTillSqroot.forEach(x => arr = arr.filter(y => ((y%x)!==0)||(y==x)));
|
||||
return arr;
|
||||
}
|
||||
// primes(10) -> [2,3,5,7]
|
||||
</code></pre>
|
||||
</div></div><br/><div class="card fluid"><div class="section double-padded"><h3 id="randomintegerinrange">randomIntegerInRange</h3></div><div class="section double-padded">
|
||||
<p>Returns a random integer in the specified range.</p>
|
||||
<p>Use <code>Math.random()</code> to generate a random number and map it to the desired range, using <code>Math.floor()</code> to make it an integer.</p>
|
||||
|
||||
@ -81,6 +81,7 @@ percentile:math
|
||||
pick:array
|
||||
pipe:function
|
||||
powerset:math
|
||||
primes:math
|
||||
promisify:function
|
||||
pull:array
|
||||
pullAtIndex:array
|
||||
|
||||
Reference in New Issue
Block a user