JSFiddle - React, Tailwind, and code Playground
JavaScript
const repeat1 = (str, n) => {
let res = ''
while (n) {
if (n % 2 === 1) res += str
if (n > 1) str += str
n >>= 1
}
return res
}
const repeat2 = (str, n) => {
let res = ''
while (n--) {
res += str;
}
return res
}
const takeTime = (f,...arg) => {
const st = Date.now()
const result = f(...arg)
const et = Date.now()
return {time: et - st, result}
}
console.log(JSON.stringify(takeTime(repeat1.bind(null,"string",1000000))))
console.log(JSON.stringify(takeTime(repeat2.bind(null,"string",1000000))))