为什么push显示类型'any []'的参数不能分配给'never'错误类型的参数?

Par*_*ria 10 javascript leaflet typescript

在这段代码中我得到了以下错误:

'any []'类型的参数不能分配给'never'类型的参数

var markers: [];
this.Getlapoints(this.map.getCenter(), 500000).then(data => {
  for (var key in data) {
    Leaflet.marker(data[key].location, //{ icon: greenIcon            }
    ).addTo(this.map).bindPopup(data[key].caption);
    // markers.push(data[key].location.lat,data[key].location.lng);
    // markers.push(data[key].location);

    var lat = data[key].location.lat;
    var lng = data[key].location.lng;
    markers.push([lat, lng]);
  }
  console.log(markers);
});
Run Code Online (Sandbox Code Playgroud)

Mat*_*hen 18

随着var markers: []您声明markers数组具有永久空数组的类型.您可能打算var markers = []将其初始化为空,但允许添加项目.

  • 谢谢,这是我的问题的答案,但我只能像这样克服它:`let all: any[] = []` (5认同)

roh*_*095 7

在 tsconfig.json 中 -

 "noImplicitReturns": false,

 "strictNullChecks":false,
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

解决方案:输入“从不”

在此输入图像描述


Den*_*AUT 6

改变这个:

const a = [];
Run Code Online (Sandbox Code Playgroud)

这样 :

const a = Array();
Run Code Online (Sandbox Code Playgroud)