创建包含具有相同字母和所有值的所有键的地图

时间:2017-10-27 17:39:14

标签: javascript object dictionary

这是一个对象

fileName

及其var obj = { abc: 'xyz', a: 12, cba: 'xyz2', ba: 22, ab: 33, abcde: 44 };打印:

https://i.stack.imgur.com/vvMRO.png

1 个答案:

答案 0 :(得分:1)

您可以拆分密钥,对其进行排序并使用空字符串将其连接起来。然后收集值。



function flatSimilarKeys(object) {
    var result = Object.create(null);           // without prototypes

    Object.keys(object).forEach(function (k) {
        var key = k.split('').sort().join('');

        result[key] = result[key] || [];
        result[key].push(object[k]);
    });
    return result;
}

console.log(flatSimilarKeys({ abc: 'xyz', a: 12, cba: 'xyz2', ba: 22, ab: 33, abcde: 44 }));

.as-console-wrapper { max-height: 100% !important; top: 0; }