var mapping = { "bob": { "NOUN": "substantiv", "VERB": "verb", "ADJ": "adjektiv", "ADP": "preposisjon", "PFX": "prefiks", "ADV": "adverb", "DET": "determinativ", "PROPN": "egennavn", "ABBR": "forkortelse", "INTJ": "interjeksjon", "SYM": "symbol", "PRON": "pronomen", "CCONJ": "konjunksjon", "SCONJ": "subjunksjon", "INFM": "infinitivsmerke", "COMPPFX": "i sammensetting", "Masc": "hankjønn", "Fem": "hunkjønn", "Neuter": "intetkjønn", "Uninfl": "ubøyelig" }, "nob": { "NOUN": "substantiv", "VERB": "verb", "ADJ": "adjektiv", "ADP": "preposisjon", "PFX": "prefiks", "ADV": "adverb", "DET": "determinativ", "PROPN": "eigennamn", "ABBR": "forkorting", "INTJ": "interjeksjon", "SYM": "symbol", "PRON": "pronomen", "CCONJ": "konjunksjon", "SCONJ": "subjunksjon", "INFM": "infinitivsmerke", "COMPPFX": "i samansetjing", "Masc": "hankjønn", "Fem": "hokjønn", "Neuter": "inkjekjønn", "Uninfl": "ubøyd" } } var group_list = function(grps, dictionary) { var grp_collection = new Set() var noun_grp_collection = new Set() grps.forEach(function(lemma){ lemma.paradigm_info.forEach(function(grp){ if (grp.tags){ if(grp.tags[0] == 'NOUN') { noun_grp_collection.add(grp.tags[1]) }else{ grp_collection.add(mapping[dictionary][grp.tags[0]]) } } }) }) if (noun_grp_collection) { let noun_grp_text = 'substantiv, ' if (noun_grp_collection.size == 3) { noun_grp_text += mapping[dictionary]['Masc'] + ', ' + mapping[dictionary]['Fem'] + ' eller ' + mapping[dictionary]['Neuter'] } else { noun_grp_text += Array.from(noun_grp_collection).map(code => mapping[dictionary][code]).sort().join(' eller ') } grp_collection.add(noun_grp_text) } return Array.from(grp_collection).join(' - ') } export default { group_list}