这是代码。
setWeatherForecast(unit: any, scaleTemp: any) {
this.forecast.splice(0, this.forecast.length);
this.weatherService.getLocation().subscribe(data => {
this.lat = JSON.parse(data['_body']).latitude;
this.lon = JSON.parse(data['_body']).longitude;
this.weatherService
.fiveDayForecast(this.lat, this.lon, unit)
.subscribe(forecastData => {
for (let i = 0; i < forecastData.list.length; i = i + 8) {
console.log(forecastData.list[i]);
const forecastWeather = new Forecast(
forecastData.city.name,
forecastData.list[i].weather[0].description,
forecastData.list[i].main.temp.toFixed(0) + scaleTemp,
forecastData.list[i].dt_txt.replace(/\s/, 'T'),
forecastData.list[i].weather[0].icon
);
this.forecast.push(forecastWeather);
}
return this.forecast;
});
});
}我想要的是删除天气预报中的第一个天气。例如。
星期五、星期六、星期日、星期一、星期二、星期三
它将删除星期六。它只显示周日到周二。

发布于 2020-02-14 16:30:48
发布于 2020-02-14 16:41:00
你应该使用拼接
this.forecast.splice(0, 1)其中0是索引位置,1是要移除的元素数量
示例
list=["bar", "baz", "foo", "qux"]
list.splice(2, 1)
// Starting at index position 2, remove one element
["bar", "baz", "qux"]发布于 2020-02-14 16:39:34
return this.forecast.shift();
删除预报中的第一个天气。
可以使用shift() -方法从数组中删除第一个元素,并返回已删除的元素。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
https://stackoverflow.com/questions/60222554
复制相似问题