Дополнительно
Как проверить, содержит ли массив строку в TypeScript?
В настоящее время я использую Angular 2.0. У меня есть массив следующего вида:
var channelArray: Array<string> = ['one', 'two', 'three'];
Как я могу проверить в TypeScript, содержит ли channelArray строку 'three'?
209
7
Так же, как и в JavaScript, используя Array.prototype.indexOf():
Или используя ECMAScript 2016 Array.prototype.includes():
Обратите внимание, что для поиска строки можно также использовать методы, описанные @Nitzan. Однако обычно это делается не для массива строк, а для массива объектов. Там эти методы более разумны. Например
Ссылка
Array.find()
Array.some()
Array.filter()
Вы можете использовать некоторый метод:
Вы можете использовать метод find method:
Или вы можете использовать метод indexOf:
Если ваш код основан на ES7:
Если нет, например, вы используете IE без babel transpile:
метод
indexOf
вернет позицию, которую занимает элемент в массиве, поэтому мы используем!==
, отличное от -1, если игла найдена на первой позиции.Также обратите внимание, что "и в" ключевое слово не работает с массивами. Он работает только с объектами.
Тест на включение массив
Использовать массив JavaScript включает() способ
Попробуйте сами » ссылке
Определение
В включает в себя() метод определяет, является ли массив содержит указанный элемент.
Этот метод возвращает true, если массив содержит элемент, и false, если нет.
ТС имеет много вспомогательных методов для массивов, которые доступны через прототип массивов. Есть несколько, которые могут достичь этой цели, но два наиболее удобными для этой цели являются:
Массива.включает в себя () принимает любое значение в качестве аргумента и затем определяет, является ли массив содержит это значение. В метод, который возвращает
true`, если значение не найдено, в противном случае "ложь".Пример:
делать такой: