A few JavaScript solutions
The standard solution using a map:\n\nvar isAnagram = function(s, t) {\n    if (t.length !== s.length) return false;\n    const counts = {};\n    for (let c of 
The standard solution using a map:\n```\nvar isAnagram = function(s, t) {\n    if (t.length !== s.length) return false;\n    const counts = {};\n    for (let c of s) {\n        counts[c] = (counts[c] || 0) + 1;\n    }\n    for (let c of t) {\n        if (!counts[c]) return false;\n        counts[c]--;\n    }\n    return true;\n};\n```\n...which can be "minified" to:\n```\nvar isAnagram = function(s, t, m = {}) {\n    for (let c of s) m[c] = (m[c] || 0) + 1;\n    for (let c of t) if (!m[c]--) return false;\n    return Object.values(m).every(v => !v);\n};\n```\nUsing an array as buckets:\n```\nvar isAnagram = function(s, t) {\n    if (t.length !== s.length) return false;\n    const counts = [];\n    for (let c of s) {\n        let i = c.charCodeAt(0) - 'a'.charCodeAt(0);\n        counts[i] = (counts[i] || 0) + 1;\n    }\n    for (let c of t) {\n        let i = c.charCodeAt(0) - 'a'.charCodeAt(0);\n        if (!counts[i]) return false;\n        counts[i]--;\n    }\n    return true;\n};\n```\nOne-liner (log n times slower) using `sort`:\n```\nvar isAnagram = function(s, t) {\n    return s.split('').sort().join('') === t.split('').sort().join('');\n};\n```
['JavaScript']