Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

333
Visualizações
¿Por qué no obtener salida con la función de flecha?

Cuando intento la función buildGraph con la función normal, funciona correctamente, pero con la función de flecha obteniendo obj vacío como salida. Se necesita ayuda.

 var roads = [ "Alice's House-Bob's House", "Alice's House-Cabin", "Alice's House-Post Office", "Bob's House-Town Hall", "Daria's House-Ernie's House", "Daria's House-Town Hall", "Ernie's House-Grete's House", "Grete's House-Farm", "Grete's House-Shop", "Marketplace-Farm", "Marketplace-Post Office", "Marketplace-Shop", "Marketplace-Town Hall", "Shop-Town Hall" ]; let buildGraph = (edges) => { let obj = {} let addEdge = (from, to) => ( obj[from] === null ? obj[from] = [to] : obj[from]?.push(to) ) edges.map(r => r.split("-")).map(([from, to]) => addEdge(from, to)) return obj; } console.log(buildGraph(roads)) // Output: {}

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Reemplace null con undefined . Si no se encuentra una key en un objeto, devuelve undefined , no null .

 var roads = [ "Alice's House-Bob's House", "Alice's House-Cabin", "Alice's House-Post Office", "Bob's House-Town Hall", "Daria's House-Ernie's House", "Daria's House-Town Hall", "Ernie's House-Grete's House", "Grete's House-Farm", "Grete's House-Shop", "Marketplace-Farm", "Marketplace-Post Office", "Marketplace-Shop", "Marketplace-Town Hall", "Shop-Town Hall", ]; let buildGraph = (edges) => { let obj = {}; let addEdge = (from, to) => obj[from] === undefined ? (obj[from] = [to]) : obj[from]?.push(to); edges.map((r) => r.split("-")).map(([from, to]) => addEdge(from, to)); return obj; }; console.log(buildGraph(roads));

about 4 years ago · Juan Pablo Isaza Relatório

0

No es la función de flecha, es esta comparación:

 obj[from] === null

El operador === realiza una comparación de tipos exacta, y para las propiedades que no existen en un objeto, el tipo exacto de la propiedad no es null , es undefined . Entonces esa comparación es false y la propiedad nunca se agrega al objeto.

Compáralo con undefined en su lugar:

 var roads = [ "Alice's House-Bob's House", "Alice's House-Cabin", "Alice's House-Post Office", "Bob's House-Town Hall", "Daria's House-Ernie's House", "Daria's House-Town Hall", "Ernie's House-Grete's House", "Grete's House-Farm", "Grete's House-Shop", "Marketplace-Farm", "Marketplace-Post Office", "Marketplace-Shop", "Marketplace-Town Hall", "Shop-Town Hall" ]; let buildGraph = (edges) => { let obj = {} let addEdge = (from, to) => ( obj[from] === undefined ? obj[from] = [to] : obj[from]?.push(to) ) edges.map(r => r.split("-")).map(([from, to]) => addEdge(from, to)) return obj; } console.log(buildGraph(roads)) // Output: {}

about 4 years ago · Juan Pablo Isaza Relatório

0

También puedes usar .reduce() . Se usa a menudo si quieres agrupar algo

 var roads = [ "Alice's House-Bob's House", "Alice's House-Cabin", "Alice's House-Post Office", "Bob's House-Town Hall", "Daria's House-Ernie's House", "Daria's House-Town Hall", "Ernie's House-Grete's House", "Grete's House-Farm", "Grete's House-Shop", "Marketplace-Farm", "Marketplace-Post Office", "Marketplace-Shop", "Marketplace-Town Hall", "Shop-Town Hall" ]; let result = roads.reduce((obj, road) => { let [from, to] = road.split("-") obj[from] ? obj[from].push(to) : obj[from] = [to] return obj },{}) console.log(result)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda