Ваш код ссылается на 3 различных массива: this.numbers1
, this.list
и this.number
. Мне не ясно, является ли это намеренным различием, но кажется то, что вы пытаетесь сделать, примерно так:
// describe what the arrays contain
type Coord = { lat: number; lng: number; }
// define the array of those coords, initialize empty
numbers: Coord[] = [];
polygon(event){
// push the next coord (this will be type-checked)
this.numbers.push({ lat: event.coord.lat, lng: event.coord.lng });
}
Обратите внимание, что при использовании пользовательского типа Coord
вместо any
компилятор поможет вам в том, что вы пытаетесь сделать. Например, это будет ошибка:
this.numbers.push([event.coord.lat, event.coord.lng]);
Компилируется с ошибкой:
Error:
Argument of type 'any[]' is not assignable to parameter of type 'Coord'.
Property 'lat' is missing in type 'any[]'.