Last active
January 1, 2016 00:09
-
-
Save gwing33/8065035 to your computer and use it in GitHub Desktop.
Testing which Reverse String methods are faster... run it here: http://jsperf.com/reverse-speeds/2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Run tests | |
function run_test(func) { | |
var j, s = 'asdfasdfasdf', name = func.name; | |
console.time(name); | |
for(j = 0; j <= 10000; j++) { | |
func(s); | |
} | |
console.timeEnd(name); | |
} | |
// split join reverse | |
function reverse_split_join(s) { | |
return s.split('').reverse().join(''); | |
} | |
// For Negative Concat | |
function reverse_for_neg_concat(s) { | |
var reverse = ''; | |
for(i = s.length-1; i >= 0; i--) { | |
reverse += s[i]; | |
} | |
return reverse; | |
} | |
// For Negative join | |
function reverse_for_neg_join(s) { | |
var reverse = []; | |
for(i = s.length-1; i >= 0; i--) { | |
reverse.push(s[i]); | |
} | |
return reverse.join(''); | |
} | |
// For Positive Concat | |
function reverse_for_pos_concat(s) { | |
var reverse = '', _ref = s.length - 1; | |
for(i = 0; i <= _ref; i++) { | |
reverse += value[_ref - i]; | |
} | |
return reverse; | |
} | |
// For Positive Join | |
function reverse_for_pos_join(s) { | |
var reverse = [], _ref = s.length - 1; | |
for(i = 0; i <= _ref; i++) { | |
reverse.push(value[_ref - i]); | |
} | |
return reverse; | |
} | |
// While Negative Concat | |
function reverse_while_neg_concat(s) { | |
var reverse = '', _ref = s.length-1; | |
i = _ref; | |
while(i >= 0) { | |
reverse += s[i]; | |
i--; | |
} | |
return reverse; | |
} | |
// While Negative Join | |
function reverse_while_neg_join(s) { | |
var reverse = [], _ref = s.length-1; | |
i = _ref; | |
while(i >= 0) { | |
reverse.push(s[i]); | |
i--; | |
} | |
return reverse.join(''); | |
} | |
// While Positive Concat | |
function reverse_while_pos_concat(s) { | |
var reverse = [], i = 0; | |
while(i <= s.length-1) { | |
reverse += s[i]; | |
i++; | |
} | |
return reverse; | |
} | |
// While Positive Join | |
function reverse_while_pos_join(s) { | |
var reverse = [], i = 0; | |
while(i <= s.length-1) { | |
reverse.push(s[i]); | |
i++; | |
} | |
return reverse.join(''); | |
} | |
run_test(reverse_split_join); | |
run_test(reverse_for_neg_concat); | |
run_test(reverse_for_neg_join); | |
run_test(reverse_for_pos_concat); | |
run_test(reverse_for_pos_join); | |
run_test(reverse_while_neg_concat); | |
run_test(reverse_while_neg_join); | |
run_test(reverse_while_pos_concat); | |
run_test(reverse_while_pos_join); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment