Group By

LeetCode題目: 2631. Group By

My solution:

/**
 * @param {Function} fn
 * @return {Object}
 */
Array.prototype.groupBy = function(fn) {
    let groups = {};
    for(let item of this) {
        const key = fn(item);
        groups[key] ? groups[key].push(item) : groups[key] = [item];
    }
    return groups;
};

/**
 * [1,2,3].groupBy(String) // {"1":[1],"2":[2],"3":[3]}
 */
profile-image
Hi, 我是 Zeki。目前為一名前端工程師。我相信科技始終來自於人性,是用來幫助人們過上更有品質的生活的,但願也希望如此。