Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The correct way to type a new Map that contains elements such as [['1', ()=>{}], [2, ()=>{}]] in TypeScript is to use the following syntax:

const myMap: Map<string | number, () => void> = new Map([
  ['1', () => {}],
  [2, () => {}]
]);

Make sure that you are using the correct syntax for declaring a new Map, which is using the new Map() syntax with an array of key-value pairs, where each key-value pair is itself an array. The TypeScript error "No overload matches" typically occurs when there is a mismatch between the types of the elements you are trying to pass and the types expected by the function. Double check that you are using the correct types for the Map keys and values in the declaration of myMap.