javascript - 试图找出该功能不起作用的原因

标签 javascript

我编写了一个过滤函数,它应该过滤对象数组,并且它确实过滤了它,但结果变量没有获得过滤后的数组。

数组示例:

hotels: [{
  photo: "/some_address/some_photo.png",
  name: "Hotel Moscow Name",
  address: "Moscow, some street, 1",
  amenities: [{
      name: 'wi-fi'
    }, {
      name: 'bar'
    }, {
      name: 'pool'
    }, {
      name: 'transfer'
    },
    {
      name: 'bath'
    }, {
      name: 'breakfast'
    }, {
      name: 'spa'
    }
  ],
  price: 3000
},
{
  photo: "/some_address/some_photo.png",
  name: "Hotel  St.Pitersberg Name",
  address: "sSt.Pitersberg, some street, 2",
  amenities: [{
      name: 'wi-fi'
    }, {
      name: 'bar'
    }, {
      name: 'fitness'
    }, {
      name: 'transfer'
    },
    {
      name: 'bath'
    }, {
      name: 'breakfast'
    }, {
      name: 'spa'
    }
  ],
  price: 4000
},
}]
changeFilterValue: function(choosenAmenity) {
    this.changeFiltersList(choosenAmenity);
    let settedList = this.settedFilters;

    this.filteredData = this.hotels.filter(function(hotel) { //массив hotels
      let amenityArray = [];
      hotel.amenities.forEach(function(amenity) {
        amenityArray.push(amenity.name);
      })
      return settedList.filter(function(elem) {
        console.log(settedList, amenityArray);
        console.log(amenityArray.includes(elem));
        return amenityArray.includes(elem);
      });
    })
    console.log(this.filteredData);

最佳答案

settedList.filter(...) 返回一些数组,该数组始终为 truthy 。如果您想检查数组是否不为空,请尝试使用 return settedList.filter(...).length 来代替

关于javascript - 试图找出该功能不起作用的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58380093/

相关文章:

javascript - 我是否遇到内存泄漏,或者只是在 Firefox 中使用了高内存?

javascript - 更新 firefox 55 后,内联图像 (img) 未通过 SVG 在 HTML CANVAS 中呈现

javascript - 如何使用 jQuery chop select 中的选项文本

javascript - 如何向 Vue 路由器路径添加 float 验证?

javascript - 从谷歌地图中的标记中删除默认的鼠标悬停工具提示

javascript - jQuery 停止调用其他处理程序

javascript - 未在浏览器中设置响应 header 中的 Set-Cookie

javascript - MobX 自动运行只触发一次

javascript - 谷歌地图 InfoWindow - 垂直滚动仅在使用 <br/> 时出现

javascript - 客户端 cookie 是否可供所有人访问?服务器端是否有 cookie