diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-02-15 13:12:03 -0500 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-02-22 14:37:10 -0500 | 
| commit | 163211ade323f09ad9de7861e1eeab8d344bacb8 (patch) | |
| tree | 972247eeea6cc91ecc675457799e320071681968 | |
| parent | a4bdffbd9def55cdc8a8a5058be39d9eea42b5e9 (diff) | |
Use Map
| -rw-r--r-- | ext/bg/js/translator.js | 19 | 
1 files changed, 10 insertions, 9 deletions
| diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index b850c6e4..a864712a 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -506,28 +506,29 @@ class Translator {          const names = Object.keys(items);          const tagMetaList = await this.getTagMetaList(names, title); -        const stats = {}; +        const statsGroups = new Map();          for (let i = 0; i < names.length; ++i) {              const name = names[i];              const meta = tagMetaList[i];              if (meta === null) { continue; }              const category = meta.category; -            const group = ( -                hasOwn(stats, category) ? -                stats[category] : -                (stats[category] = []) -            ); +            let group = statsGroups.get(category); +            if (typeof group === 'undefined') { +                group = []; +                statsGroups.set(category, group); +            }              const stat = Object.assign({}, meta, {name, value: items[name]});              group.push(dictTagSanitize(stat));          } +        const stats = {};          const sortCompare = (a, b) => a.notes - b.notes; -        for (const category in stats) { -            stats[category].sort(sortCompare); +        for (const [category, group] of statsGroups.entries()) { +            group.sort(sortCompare); +            stats[category] = group;          } -          return stats;      } |