Se supone que mi código debe coincidir con todos los nombres de clave que contienen la cadena ingresada. sin embargo, cuando ingreso "o", no coincidirá con jordanMichael, pero coincidirá con noahsinnott y bobross. ¿Alguien sabe por qué? esto también sucede cuando ingreso 0 ya que solo coincide con noah cuando harry styles también tiene un cero en su clave. cuando se combina con ninguna cadena, también devuelve todas las claves, así que sé que lo está ejecutando desafiantemente a través de la prueba, pero por alguna razón nunca pasa.
var adressLog = { NoahSinnott07484743803: { firstName: "Noah", lastName: "Sinnott", number: 07484743803, adress: "st michaels house, church street, billinghay" }, HarryStlyes08674563827: { firstName: "Harry", lastName: "Styles", number: 08674563827, adress: "23 Merry gold lane, new-york" }, BobRoss67543456754: { firstName: "Bob", lastName: "Ross", number: 67543456754, adress: "93 Scrooby Rd, Bircotes, Doncaster DN11 8JN" }, JordanMichael78675678765: { firstName: "Jordan", lastName: "Michael", number: 78675678765, adress: "2700 Point Dr, Highland Park, IL 60035" } }; function match(str) { a = new RegExp(str, "ig"); let matches = []; let length = Object.keys(adressLog).length; for (let p = 0; p < length; p++) { current = Object.keys(adressLog)[p]; if (a.test(current) == true) { matches.push(current); } } console.log(matches); } match("o");