Determine if Two Strings Are Close

LeetCode題目: 1657. Determine if Two Strings Are Close

My solution:

/**
 * @param {string} word1
 * @param {string} word2
 * @return {boolean}
 */
let closeStrings = (word1, word2) => {
    if(word1.length !== word2.length) return false;
    const getData = word => {
        let map = new Map();
        Array.from(word).forEach(v => map.has(v) ? map.set(v, map.get(v)+1) : map.set(v, 1));
        return [map.keys().toArray().sort((a,b) => a>b ? 1 : -1).join(''), map.values().toArray().sort((a,b) => a-b).join('')];        
    }
    const [w1KeyString, w1LengthString] = getData(word1);
    const [w2KeyString, w2LengthString] = getData(word2);
    return w1KeyString === w2KeyString && w1LengthString === w2LengthString;
};
profile-image
Hi, 我是 Zeki。目前為一名前端工程師。我相信科技始終來自於人性,是用來幫助人們過上更有品質的生活的,但願也希望如此。