¿Cómo comprobar si una matriz incluye un objeto en JavaScript?

objetos JavaScript: Aquí, vamos a aprender cómo comprobar si una matriz incluye un objeto en JavaScript?

En este artículo, vamos a ver varios métodos para comprobar si una matriz incluye un objeto en JavaScript . Consideremos el siguiente objeto,

const squirtle= {
name: 'Squirtle-1',
HP: 100,
type: 'water',
favSnack: 'Choco balls'
}
const pokeArray=['name','location','type']
console.log(squirtle);
console.log(pokeArray);

salida

{name: "Squirtle-1", HP: 100, type: "water", favSnack: "Choco balls"}
(3) ["name", "location", "type"]

El primer método que puede utilizar es la incluye el método () para comprobar si una matriz contiene una propiedad. Podemos llamar a este método en una matriz y pasar en dos parámetros, el nombre del objeto y la posición de partida.

console.log(pokeArray.includes(squirtle,0))

salida

false

array El pokeArray no contiene el squirtle objeto por lo tanto devuelve “falso”. El sentido de que una matriz incluye un objeto implica que estamos comprobando el interior de una matriz que contiene el nombre de los objetos y no sólo las propiedades. Así que vamos a crear una serie de Pokemon,

const pokemons = ["charmander", squirtle, "pikachu"];
console.log(pokemons.includes(squirtle, 0));

salida

true

Ahora tenemos cierto! cambio de dejar que nuestra gama un poco,

const list=["charmander",
"pikachu",
{
name: 'Squirtle-1', HP: 100, type: 'water', favSnack: 'Choco balls'
}
]
console.log(list);

salida

(3) ["charmander", "pikachu", {…}]
0: "charmander"
1: "pikachu"
2:
HP: 100
favSnack: "Choco balls"
name: "Squirtle-1"
type: "water"
__proto__: Object
length: 3
__proto__: Array(0)

Nuestra lista matriz contiene todo el objeto en su interior. Ahora no podemos usar incluye () porque no sabemos el nombre del objeto. Podemos simplemente bucle a través de nuestra gama y se les class tipo de cada elemento y class cierto si se trataba de un objeto.

list.forEach(l => {
if (typeof l == 'object')
console.log('Its an object!');
});

salida

Its an object!

Podemos simplificar lo anterior bucle forEach utilizando algún método () su lugar.

list.some(value => {
return typeof value == 'object';
});

salida

true

vamos a probar unos cuantos ejemplos más …

const cars=['merc','ferrari',{name: 'Audi'},'tesla'] 
cars.some(car=>{return typeof car=='object';});

salida

true

Nuestra coches matriz representa los nombres de las marcas de automóviles sin embargo, tiene una objeto dentro de él. A veces, la matriz puede contener objetos que no deberían haber sido uno, ya que representan la misma información que otros elementos de la matriz. En esos casos, la identificación de si la matriz contiene un objeto y luego hacer la estructura de datos consistente sería útil. También pudimos capturar ese objeto y utilizarlo en otro lugar.

const colors=['red','orange','blue',{
date:'12th December',
day:'Thursday',
year: 2019
}
]
var Date;
colors.forEach(color=>{
if(typeof color=='object')
Date=color;
})
console.log(Date);

salida

{date: "12th December", day: "Thursday", year: 2019}

En el ejemplo anterior, nuestros colores matriz tenía un objeto fecha la que no tenía sentido lo que hemos capturado el objeto fecha en otra variable. Esto podría ser útil cuando se está recibiendo un montón de datos desde un servidor descuidado y que desea separar condicionalmente sus datos en base a lo que representa y su tipo de datos.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *