Javascript 当需要数组时,Filter()方法返回布尔值

Javascript 当需要数组时,Filter()方法返回布尔值,javascript,arrays,filter,boolean,openweathermap,Javascript,Arrays,Filter,Boolean,Openweathermap,我从两个不同的API获取两个对象数组——一个用于事件,另一个用于天气。我的最终目标是显示一个事件列表,并在事件发生的同时包括事件开始时间的天气预报 反应很好,但时间不同。unix中的天气,UTC中的事件。我已经做了一些函数来格式化这两个时间段,它们似乎工作正常 我正在运行下面的代码,并得到一个返回值false,而我希望数组为空[]或包含一些事件数据对象 const getEventAndWeather = (seatGeekEvents, hourlyForecast) => { co

我从两个不同的API获取两个对象数组——一个用于事件,另一个用于天气。我的最终目标是显示一个事件列表,并在事件发生的同时包括事件开始时间的天气预报

反应很好,但时间不同。unix中的天气,UTC中的事件。我已经做了一些函数来格式化这两个时间段,它们似乎工作正常

我正在运行下面的代码,并得到一个返回值
false
,而我希望数组为空
[]
或包含一些事件数据对象

const getEventAndWeather = (seatGeekEvents, hourlyForecast) => {
  const eventAndWeatherArray = seatGeekEvents
                   .filter((event) => formatEventTime(event.datetime_local))
                   .includes(hourlyForecast.map((forecastItem) => (formatWeatherTime(forecastItem.dt))));
  return eventAndWeatherArray
};

console.log(getEventAndWeather(seatGeekEvents, hourlyForecast));

为了实现我的目标,我想我可以使用一个带有includes的过滤方法来格式化我正在比较的值,但我担心我太花哨了。即使我最后没有使用这种方法组合,当
过滤器
通常返回一个数组时,函数如何返回
false

在代码中,首先调用返回数组的
filter()
,然后调用返回布尔值的
includes
方法

这里有一个例子

const arr=[6,55,33,14];
const result=arr
.filter(item=>item>10)//在此状态下返回数组[55,33]
.includes(29)//返回false,因为不存在这样的元素
console.log(结果)//false