Given a pattern and a string str, find if str follows the same pattern. Examples: pattern = “abba”, str = “dog cat cat dog” should return true. pattern = “abba”, str = “dog cat cat fish” should return false. pattern = “aaaa”, str = “dog cat cat dog” should return false. pattern = “abba”, str = “dog dog dog dog” should return false.
var wordPattern = function(pattern, str) { var arr = str.split(' '); var map = {}, used = {}; if(pattern.length != arr.length) { return false } for(var i = 0; i < arr.length; i++) { if(!map[arr[i]]) { if(used[pattern[i]]){ return false }else{ used[pattern[i]] = true; } map[arr[i]] = pattern[i] }else{ if(map[arr[i]] != pattern[i]) { return false } } } return true };