javascript - Cómo comprobar si un objeto array contiene una cadena en angularjs
este es mi código, quiero comprobar si el arreglo contiene esta cadena específica "Identicon". y estoy buscando un código de una sola línea como solución, solo quiero comprobar con una condición if.
$scope.profileImageOptions = [
{
Type: "Identicon",
Code: "identicon"
},
{
Type: "MonsterID",
Code: "monsterid"
},
];
if($scope.profileImageOptions.indexOf($rootScope.settings.defaultImage) >-1)
{
console.log('ok');
}
Respuesta #1
Puedes usar el método includes en combinación con el método some.
El método some acepta como parámetro una función proporcionada callback que se aplica a cada elemento del array.
profileImageOptions = [
{
Type: "Identicon",
Code: "identicon"
},
{
Type: "MonsterID",
Code: "monsterid"
},
];
var exist=profileImageOptions.some(function(item){
return item.Type.includes("Identicon");
});
console.log(exist);Además, puedes usar una función flecha para simplificar tu código.
profileImageOptions.some(item => item.Type.includes("Identicon"))
Respuesta #2
var arr = [
{
Type: "Identicon",
Code: "identicon"
},
{
Type: "MonsterID",
Code: "monsterid"
},
];
var result = arr.some(element => element.Type.includes('Identicon'));
console.log(result)Usemos algunos en Javascript:
$scope.profileImageOptions.some(element => element.Type.includes('Identicon'));
