ultimo - substr javascript
¿Cómo verifico si una matriz contiene una cadena en TypeScript? (7)
Lo mismo que en JavaScript, usando Array.prototype.indexOf() :
console.log(channelArray.indexOf(''three'') > -1);
O usando ECMAScript 2016 Array.prototype.includes() :
console.log(channelArray.includes(''three''));
Tenga en cuenta que también puede usar métodos como los mostrados por @Nitzan para encontrar una cadena. Sin embargo, normalmente no lo haría para una matriz de cadenas, sino para una matriz de objetos. Allí esos métodos fueron más sensatos. Por ejemplo
const arr = [{foo: ''bar''}, {foo: ''bar''}, {foo: ''baz''}];
console.log(arr.find(e => e.foo === ''bar'')); // {foo: ''bar''} (first match)
console.log(arr.some(e => e.foo === ''bar'')); // true
console.log(arr.filter(e => e.foo === ''bar'')); // [{foo: ''bar''}, {foo: ''bar''}]
Referencia
Actualmente estoy usando Angular 2.0. Tengo una matriz de la siguiente manera:
var channelArray: Array<string> = [''one'', ''two'', ''three''];
¿Cómo puedo verificar en TypeScript si channelArray contiene una cadena ''tres''?
Puedes usar Array.some() :
console.log(channelArray.some(x => x === "three")); // true
Puedes usar el Array.find() :
console.log(channelArray.find(x => x === "three")); // three
O puede usar el método indexOf :
console.log(channelArray.indexOf("three")); // 2
Si su código está basado en ES7:
channelArray.includes(''three''); //will return true or false
Si no es así, por ejemplo, está utilizando IE sin babel transpile:
channelArray.indexOf(''three'') !== -1; //will return true or false
indexOf
método
indexOf
devolverá la posición que el elemento tiene en la matriz, por eso usamos
!==
diferente de -1 si la aguja se encuentra en la primera posición.
TS tiene muchos métodos de utilidad para matrices que están disponibles a través del prototipo de matrices. Hay varios que pueden lograr este objetivo, pero los dos más convenientes para este propósito son:
-
Array.indexOf()
Toma cualquier valor como argumento y luego devuelve el primer índice en el que se puede encontrar un elemento determinado en la matriz, o -1 si no está presente. -
Array.includes()
Toma cualquier valor como argumento y luego determina si una matriz incluye este valor. El método devuelvetrue
si se encuentra el valor, de lo contrariofalse
.
Ejemplo:
var channelArray: string[] = [''one'', ''two'', ''three''];
console.log(channelArray.indexOf(''three'')); // 2
console.log(channelArray.indexOf(''three'') > -1); // true
console.log(channelArray.indexOf(''four'') > -1); // false
console.log(channelArray.includes(''three'')); // ture
También tenga en cuenta que la palabra clave "in" no funciona en matrices. Funciona solo en objetos.
propName in myObject
La prueba de inclusión de matriz es
myArray.includes(''three'');
Usar el método de matriz de JavaScript incluye ()
departments: string[]=[];
if(this.departments.indexOf(this.departmentName.trim()) >-1 ){
return;
}
Pruébelo usted mismo » link
Definición
El método incluye () determina si una matriz contiene un elemento especificado.
Este método devuelve verdadero si la matriz contiene el elemento y falso si no.
hazlo así:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var n = fruits.includes("Mango");