Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //(function() {
- let hashMap = {};
- let isAnagram = (str1, str2) => {
- if (str1.length !== str2.length) {
- return false;
- }
- // Create a hash mao of str2 character and increase value one (+1)
- createStr1HashMap(str1);
- let valueExist = createStr2HashMap(str2);
- return isStringsAnagram(valueExist);
- }
- let createStr1HashMap = (str1) => {
- [].map.call(str1, function (value, index, array) {
- hashMap[value] = value in hashMap ? (hashMap[value] + 1) : 1;
- return value;
- });
- }
- let createStr2HashMap = (str2) => {
- valueExist = [].every.call(str2, function (value, index, array) {
- if (value in hashMap) {
- hashMap[value] = hashMap[value] - 1;
- }
- return value in hashMap;
- });
- return valueExist;
- }
- function isStringsAnagram(valueExist) {
- if (!valueExist) {
- return valueExist;
- } else {
- let isAnagram;
- for (let i in hashMap) {
- if (hashMap[i] !== 0) {
- isAnagram = false;
- break;
- } else {
- isAnagram = true;
- }
- }
- return isAnagram;
- }
- }
- console.log(isAnagram('stackoverflow', 'flowerovstack')); // true
- console.log(isAnagram('stackoverflow', 'flowervvstack')); // false
- //})();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement