Tengo dos diccionarios (¿objeto en JS?) y quiero compararlos.
En un ciclo while, quiero imprimir True si al menos uno de los pares es idéntico ( es decir , el diccionario a continuación), en lugar de que todo el diccionario sea idéntico (pero si todo el dictado es idéntico, la declaración debe ser True obviamente) :
my_dict = {"Text1":"Text1", "Text2":"Text3", "text5":"text5"}Sé que en python sería así:
while any(key == value for key, value in my_dict.items()): ... else: ...Pero no puedo obtener la sintaxis correcta para JavaScript.
Con Object.entries() y some() esto es una sola línea:
let my_dict = {"Text1":"Text1", "Text2":"Text3", "text5":"text5"} let answer = Object.entries(my_dict).some(([key,value]) => key == value); console.log(answer)for(var key in obj){ if(key === obj[key]){ //Do Something } else { //Do Something Else } }Eso itera a través del objeto, y si la clave es igual al valor, entonces hace algo, de lo contrario, hace otra cosa.
Puede usar la función some() en matrices de JavaScript, que es idéntica a any de Python, creo.
let my_dict = {"Text1":"Text1", "Text2":"Text3", "text5":"text5"} let same_exists = Object.keys(my_dict).some((key) => key === my_dict[key]) console.log(same_exists)