В настоящее время я использую Angular 2.0. У меня есть массив следующим образом:
var channelArray: Array<string> = ['one', 'two', 'three'];
Как я могу проверить в TypeScript, содержит ли channelArray строку 'Three'?
javascript
arrays
typescript
code1
источник
источник
channelArray: string[]
Ответы:
Так же, как в JavaScript, используя Array.prototype.indexOf () :
Или используя ECMAScript 2016 Array.prototype.includes () :
Обратите внимание, что вы также можете использовать методы, показанные @Nitzan, чтобы найти строку. Однако обычно вы делаете это не для массива строк, а для массива объектов. Там эти методы были более разумными. Например
Ссылка
Array.find ()
Array.some ()
Array.filter ()
источник
[ts] Property 'includes' does not exist on type 'string[]'
об ошибке. Нужно ли обновлять tsconfig для поддержки этой функции ecma 6?"lib": ["es7", "dom"]
Вы можете использовать метод some :
Вы можете использовать метод поиска :
Или вы можете использовать метод indexOf :
источник
Если ваш код основан на ES7:
Если нет, например, вы используете IE без транспиляции Babel:
indexOf
метод возвращает позицию элемент имеет в массив, из - за того , что мы используем!==
отличается от -1 , если игла находится в первом положении.источник
Также обратите внимание, что ключевое слово «in» не работает с массивами. Работает только на объектах.
Тест включения массива
источник
Использовать метод JavaScript Array includes ()
Попробуй сам » ссылка
Определение
Метод includes () определяет, содержит ли массив указанный элемент.
Этот метод возвращает true, если массив содержит элемент, и false, если нет.
источник
У TS есть много вспомогательных методов для массивов, которые доступны через прототип массива. Есть несколько, которые могут достичь этой цели, но два наиболее удобных для этой цели:
Array.indexOf()
Принимает любое значение в качестве аргумента, а затем возвращает первый индекс, по которому данный элемент может быть найден в массиве, или -1, если его нет.Array.includes()
Принимает любое значение в качестве аргумента и затем определяет, содержит ли массив значение this. Метод, возвращающий,true
если значение найдено, в противном случаеfalse
.Пример:
источник
Вы
filter
тоже можете использоватьисточник
делай так:
источник