Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
5
Task/Repeat-a-string/JavaScript/repeat-a-string-1.js
Normal file
5
Task/Repeat-a-string/JavaScript/repeat-a-string-1.js
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
String.prototype.repeat = function(n) {
|
||||
return new Array(1 + (n || 0)).join(this);
|
||||
}
|
||||
|
||||
console.log("ha".repeat(5)); // hahahahaha
|
||||
1
Task/Repeat-a-string/JavaScript/repeat-a-string-2.js
Normal file
1
Task/Repeat-a-string/JavaScript/repeat-a-string-2.js
Normal file
|
|
@ -0,0 +1 @@
|
|||
console.log("ha".repeat(5)); // hahahahaha
|
||||
19
Task/Repeat-a-string/JavaScript/repeat-a-string-3.js
Normal file
19
Task/Repeat-a-string/JavaScript/repeat-a-string-3.js
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
(() => {
|
||||
'use strict';
|
||||
|
||||
// replicate :: Int -> String -> String
|
||||
const replicate = (n, s) => {
|
||||
let v = [s],
|
||||
o = [];
|
||||
if (n < 1) return o;
|
||||
while (n > 1) {
|
||||
if (n & 1) o = o + v;
|
||||
n >>= 1;
|
||||
v = v + v;
|
||||
}
|
||||
return o.concat(v);
|
||||
};
|
||||
|
||||
|
||||
return replicate(5000, "ha")
|
||||
})();
|
||||
27
Task/Repeat-a-string/JavaScript/repeat-a-string-4.js
Normal file
27
Task/Repeat-a-string/JavaScript/repeat-a-string-4.js
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
(() => {
|
||||
'use strict';
|
||||
|
||||
// repeat :: Int -> String -> String
|
||||
const repeat = (n, s) =>
|
||||
concat(replicate(n, s));
|
||||
|
||||
|
||||
// GENERIC FUNCTIONS ------------------------------------------------------
|
||||
|
||||
// concat :: [[a]] -> [a] | [String] -> String
|
||||
const concat = xs =>
|
||||
xs.length > 0 ? (() => {
|
||||
const unit = typeof xs[0] === 'string' ? '' : [];
|
||||
return unit.concat.apply(unit, xs);
|
||||
})() : [];
|
||||
|
||||
// replicate :: Int -> a -> [a]
|
||||
const replicate = (n, x) =>
|
||||
Array.from({
|
||||
length: n
|
||||
}, () => x);
|
||||
|
||||
|
||||
// TEST -------------------------------------------------------------------
|
||||
return repeat(5, 'ha');
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue