在TypeScript中使用地图或字典

时间:2018-11-30 13:51:29

标签: typescript dictionary lodash

我想在TypeScript中使用Dictionary或Map结构来遍历集合并直接访问myMap['key']

现在我正在使用lodash接口Map<K, V>。只要我仅将接口用于函数参数,它就可以正常工作。从JavaScript初始化此映射也不是问题。但是我不知道如何在TypeScript中初始化此数据结构。

我所拥有的:

TypeScript库

static async showAjaxModal(modalId: string, url: string, method: string, body?: string, actions?: Map<string, (e) => {}>) {
    ...

    // Bind events
    if (actions) {
        _.forEach(actions, (value: (e) => {}, key: string) => {
            $(`#${modalId}`).on('click', `#${key}`, value);
        });
    }

    ...
}

JavaScript调用:

eMedia.Modal.showAjaxModal(
    'demo-modal-ajax',
    '/modaldemo',
    'get',
     null,
    {
            ['buttonOkId']: e => { alert('ok'); },
            ['buttonCancelId']: e => { alert('close'); 
    }
});

在TypeScript中,我有两个常量const defaultOkButtonId = 'buttonOkId'const defaultCancelButtonId = 'buttonCancelId'。使用常量作为键名时,如何在TypeScript中构造上述数据结构?

我想解决方案很明显,但是我被困住了。

0 个答案:

没有答案