Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
test anagramm
(version: 0)
Comparing performance of:
test1 vs test2 vs test3
Created:
6 years ago
by:
Guest
Jump to the latest result
Script Preparation code:
function sortThings(a, b) { if (a > b) { return 1 } else if (a < b) { return -1 } else { return 0 } } function isAnagram(a, b, strict = false) { return a.length === b.length ? strict ? isStrictAnagram(a, b) : isStrictAnagram(a.toLowerCase(), b.toLowerCase()) : false } function isStrictAnagram(a, b) { return JSON.stringify(a.split('').sort(sortThings)) === JSON.stringify(b.split('').sort(sortThings)) } const goPex = (stringOne, stringTwo) => { const charMap1 = new Map(); const charMap2 = new Map(); if (stringOne.length !== stringTwo.length) return false; for (let i = 0; i < stringOne.length; i++) { charMap1.set(stringOne[i], (charMap1.get(stringOne[i]) || 0) + 1); charMap2.set(stringTwo[i], (charMap2.get(stringTwo[i]) || 0) + 1); } for ([key, value] of charMap1) { if (value !== charMap2.get(key)) return false; } return true; }; const ana = (one, two) => { const r = (str) => str.split('').reduce((acc, item) => { if (acc.hasOwnProperty(item)) { acc[item]++ } else { acc[item] = 1 } return acc }, {}) const target = {} Object.keys(r(one)).sort().map(item => target[item] = r(one)[item]) const comparator = {} Object.keys(r(two)).sort().map(item => comparator[item] = r(two)[item]) return JSON.stringify(target) === JSON.stringify(comparator) }
Tests:
test1
function test1() { console.log(isAnagram('abc', 'bca')) console.log(isAnagram('foo', 'ofoo')) console.log(isAnagram('ooffoo', 'ffooff')) console.log(isAnagram('', '')) console.log(isAnagram('', 'bca')) console.log(isAnagram('', 'bca')) }
test2
function test2() { console.log(ana('abc', 'bca')) console.log(ana('foo', 'ofoo')) console.log(ana('ooffoo', 'ffooff')) console.log(ana('', '')) console.log(ana('', 'bca')) console.log(ana('', 'bca')) }
test3
function test3() { console.log(goPex('abc', 'bca')) console.log(goPex('foo', 'ofoo')) console.log(goPex('ooffoo', 'ffooff')) console.log(goPex('', '')) console.log(goPex('', 'bca')) console.log(goPex('', 'bca')) }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
test1
test2
test3
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Related benchmarks:
compare arrays
Object Array Equality (Map-JSON.stringify + sort vs Multiple Loops)) Fixed
Object Array Equality (Map-JSON.stringify + sort vs Multiple Loops)) v3
compare arrays (lodash 4.17.21)
compare arrays + toString
Comments
Confirm delete:
Do you really want to delete benchmark?