Свойство 'includes' не существует в типе 'string []'

Получение ошибки

Свойство 'включает' не существует в типе 'string []'

в node_modules/ng2-breadcrumb/app/components/breadcrumbService.ts Я пытаюсь реализовать функциональность пакетной обработки в приложении angular2.

Ответ 1

Добавьте "ES2017" в ваш массив "lib" в tsconfig.json:

{
  "compilerOptions": {
    ...
    "lib": ["es6", "dom", "es2017"],
    ...
    "target": "es5",
    ...
  }
}

Это должно работать начиная с TypeScript 2.1.

Связанная проблема.

объяснение

includes в Array includes метод на Array поддерживается начиная с ES7 (ES2016). Выше будет добавить отсутствующий файл библиотеки для компиляции.

Опции компилятора TypeScript описаны здесь.

Lib es2016 или es7 могут быть достаточными вместо es2017 (не проверено).

Ответ 2

Изменение цели компилятора на "es2016" в tsconfig.js должно решить эту проблему.

Ответ 3

Если вы не хотите переходить на es2016, просто используйте arr.indexOf(valueToCheck) !== -1.