{"ScriptPreparationCode":null,"TestCases":[{"Name":"Reduce","Code":"const charOccurances = str =\u003E str\r\n .split(\u0022\u0022)\r\n .reduce((p, c) =\u003E ({ ...p, [c]: (p[c] || 0) \u002B 1 }), {});\r\n\r\nconsole.log(charOccurances(\u0027abac\u0027));","IsDeferred":false},{"Name":"while","Code":"const charOccurances = (str = \u0022\u0022) =\u003E {\r\n const response = {};\r\n while(str.length !== 0) {\r\n const char = str.charAt();\r\n const reg = new RegExp(char, \u0022g\u0022);\r\n response[char] = str.match(reg).length;\r\n str = str.replace(reg, \u0022\u0022);\r\n }\r\n return response\r\n}\r\n\r\nconsole.log(charOccurances(\u0027abac\u0027));","IsDeferred":false}]}