@GrimJack

Как делать сложные фильтры на js?

Пишу проект на vue.
С js с горем пополам, но могу что-то делать без jquery.
Интересует как повторить такие фильтры как тут на сайте stomportal.kz
Как я понимаю:
Есть массив в котором хранятся посты объектами([{title:'post1'},{title:'post2'}])
У каждого поста есть объект properties
И допустим это выглядит так www.jsoneditoronline.org/?id=a9bb41e2e23b75260c13e...
Для лиги лени
[
  {
    "title": "post1",
    "properties": {
      "date": "date1",
      "time": "time1",
      "services": [
          "sevice1", "service2"
        ]
    }
  },
  {
    "title": "post2",
    "properties": {
      "date": "date2",
      "time": "time2",
      "services": [
          "sevice4", "service2"
        ]
    }
  },
  {
    "title": "post3",
    "properties": {
      "date": "date1",
      "time": "time3",
      "services": [
          "sevice1", "service3"
        ]
    }
  },
  {
    "title": "post4",
    "properties": {
      "date": "date3",
      "time": "time2",
      "services": [
          "sevice3", "service4"
        ]
    }
  }
]


И я хочу получить только посты которые соответствуют фильтру:
{
  "date": "date1",
  "time": "time2",
  "services": [
    "sevice4"
  ]
}

Пытался найти в интернете, но ничего не нашел, ни по vue ни по просто js
Возможно есть готовые библиотеки типа isotope (вообще планировал к нему просто дописать кастомный фильтр, но понял, что не хватает мозгов как это провернуть или загуглить).
Прошу помощи у гуру.
  • Вопрос задан
  • 374 просмотра
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
data.filter(item=>(
  item.properties.date === "date1" &&
  item.properties.time === "time2" &&
  item.properties.services.indexOf("sevice4") !== -1
))
Ответ написан
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы