Я пытаюсь найти, не включает ли массив тег с выбранным идентификатором тега, а затем вернуть true. Однако этот код не работает.

 !this.product.tags.includes(
        tag =>
          tag.type === 'shoes' &&
          tag.Id === this.selectedProduct[item][1].tag.Id,
      )

Что не так и как это исправить?

0
Dave 8 Мар 2021 в 20:06

2 ответа

Лучший ответ

includes - неправильная встроенная функция, вы ищете some

!this.product.tags.some(
        tag =>
          tag.type === 'shoes' &&
          tag.Id === this.selectedProduct[item][1].tag.Id,
      )

includes проверяет, является ли указанный аргумент существует в данном массиве.

some проверяет наличие элементы массива оцениваются как истина с предоставленной функцией.

2
Dane Brouwer 8 Мар 2021 в 17:10
 !this.product.tags.includes.some(
        tag =>
          typeof( tag.type )=== (typeOfvar) &&
          tag.Id === this.selectedProduct[item][1].tag.Id,
      )

У меня тоже работает! я изменил tag.type на typeof. Это может помочь вам сделать код более динамичным.

0
Modena 8 Мар 2021 в 17:18