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

441
Visualizações
¿Alguien puede verificar mi solución para el ejercicio de recopilación de registros en freeCodeCamp?

Aquí están las instrucciones.

Su función siempre debe devolver el objeto de colección de registros completo.

Si la propiedad no son pistas y el valor no es una cadena vacía, actualice o establezca la propiedad de ese álbum en valor.

Si prop son pistas pero el álbum no tiene una propiedad de pistas, cree una matriz vacía y agréguele valor.

Si prop son pistas y el valor no es una cadena vacía, agregue valor al final de la matriz de pistas existente del álbum.

Si el valor es una cadena vacía, elimine la propiedad prop dada del álbum. Nota: Para las pruebas se utiliza una copia del objeto recordCollection.

Mi solución fue:

 function updateRecords(records, id, prop, value) { return records; if (prop !== "tracks" && value !== "") { records[id][prop] = value; } else if (prop == "tracks" && records[id].hasOwnProperty("tracks") == false) { records[id][prop] = [value]; } else if (prop == "tracks" && value !== "") { records[id][prop].push(value); } else if (value == "") { delete records[id][prop]; } return records; } updateRecords(recordCollection, 5439, 'artist', 'ABBA');

¿Por qué no funcionó esto?

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

0

Una posible solución a esta tarea

 const recordCollection={2548:{albumTitle:"Slippery When Wet",artist:"Bon Jovi",tracks:["Let It Rock","You Give Love a Bad Name"]},2468:{albumTitle:"1999",artist:"Prince",tracks:["1999","Little Red Corvette"]},1245:{artist:"Robert Palmer",tracks:[]},5439:{albumTitle:"ABBA Gold"}}; function updateRecords(records, id, prop, value) { const record = records[id]; if (!value) { delete record[prop]; return records; } if (prop === 'tracks') { record[prop] ??= []; record[prop].push(value); return records; } record[prop] = value; return records; }; console.log(updateRecords(recordCollection, 5439, 'artist', 'ABBA')[5439]); console.log(updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")[5439]); console.log(updateRecords(recordCollection, 2548, "artist", "")[2548]) console.log(updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")[1245]) console.log(updateRecords(recordCollection, 2548, "tracks", "")[2548]) console.log(updateRecords(recordCollection, 1245, "albumTitle", "Riptide")[1245])
 .as-console-wrapper {max-height: 100% !important; top: 0}

about 4 years ago · Juan Pablo Isaza Relatório

0

la manera de hacer eso:
primero cree registros significativos para las pruebas.

PD: el uso de la asignación lógica nula (??=) simplifica enormemente el código.

 const rec0 = { 5439 : { prop1: "aaa" } } , rec1 = { 5439 : { prop1: "aaa", artist: 'xyz' } } , rec2 = { 5439 : { prop1: "aaa", artist: 'xyz' } } , rec3 = { 5439 : { prop1: "aaa" }} , rec4 = { 5439 : { prop1: "aaa", tracks: ['aa','bb','cc'] }} , rec5 = { 5439 : { prop1: "aaa", tracks: ['aa','bb','cc'] }} ; console.log( JSON.stringify( updateRecords( rec0, 5439, 'artist', 'ABBA' ))) console.log( JSON.stringify( updateRecords( rec1, 5439, 'artist', 'ABBA' ))) console.log( JSON.stringify( updateRecords( rec2, 5439, 'artist', '' ))) console.log( JSON.stringify( updateRecords( rec3, 5439, 'tracks', 't1' ))) console.log( JSON.stringify( updateRecords( rec4, 5439, 'tracks', 't1' ))) console.log( JSON.stringify( updateRecords( rec5, 5439, 'tracks', '' ))) function updateRecords(records, id, prop, value) { if (prop == 'tracks') { records[id].tracks ??= []; if (value.length) records[id].tracks.push(value); else delete records[id].tracks; } else if (value.length) records[id][prop] = value; return records; }
 .as-console-wrapper {max-height: 100% !important;top: 0;} .as-console-row::after {display: none !important;}

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