Tengo un objeto en JavaScript:
var obj = {
"a": "test1",
"b": "test2"
}
¿Cómo verifico que test1 existe en el objeto como un valor?
javascript
Marrón KL
fuente
fuente
Object.values(obj).includes('test1');
Respuestas:
Puede convertir los valores de un objeto en una matriz y probar que hay una cadena. Asume que el Objeto no está anidado y la cadena es una coincidencia exacta:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values
fuente
if(Object.values(obj).includes('test1')) { ... }
Puede utilizar el método Array
.some
:fuente
Tratar:
O
Esto no funcionará para
NaN
y-0
para esos valores. Puede usar (en lugar de===
) las novedades de ECMAScript 6:Con los navegadores modernos también puede utilizar:
fuente
Usa un
for...in
bucle:fuente
ES6 + un trazador de líneas más corto:
fuente
Puede utilizar Object.values () :
y luego use el método indexOf () :
Por ejemplo:
A continuación, se muestra un ejemplo más detallado:
fuente
Hice una prueba con todos estos ejemplos y ejecuté esto en Node.js v8.11.2 . Toma esto como una guía para seleccionar tu mejor opción.
Salida en mi servidor
fuente
Para una sola línea, diría:
fuente
Puedes probar esto:
fuente
puedes probar este
fuente
Función llamada:
fuente
El método Object.values () devolvió una matriz (asignada a getValuesOfObject) que contiene los valores de propiedad enumerables propios del objeto dado (obj). La matriz se repitió utilizando el
for
bucle para recuperar cada valor (valores en getValuesfromObject) y devuelve una función booleana () para averiguar si la expresión ("texto1" es un valor en la matriz de bucle) es verdadera.fuente
fuente
La respuesta simple a esto se da a continuación.
Esto funciona porque cada tipo de JavaScript tiene una propiedad de “constructor” en su prototipo ”.
fuente
Esto debería ser una simple verificación.
Ejemplo 1
fuente
var a = {};
<br/>'hasOwnProperty' in a' //true