- Frontenderos
- Posts
- #78 Una web más rápida en 2024
#78 Una web más rápida en 2024
Color theme switcher
Una web más rápida en 2024
¿2024 puede ser el año del performance en la Web? Quizás si, si nos lo proponemos. 🤠
Color theme switcher
De regalo de fin de año o año nuevo, aprendamos a crear themes para nuestros proyectos web y dar una opción de accesibilidad a usuarios sobre cómo quieren consumir la Web.
HERRAMIENTA
React Markdown
Existe MDX, pero también puedes trabajar Markdown con React de otras maneras, por ejemplo utilizando esta biblioteca.
React Datasheet Grid
Esta es una herramienta que sí o si necesitas tener en tu cinturón de herramientas para construir Dashboard apps. Nos lo agradecerás luego. 😉
INSPIRACIÓN
React Winplaza 98
Deja que la inspiración llegue a ti creando proyectos con el look and feel de Windows 98.
NOTICIA
Presentando React Components para la API de JavaScripts Maps
Ya tenemos una nueva biblioteca optimizada para React, para construir Mapas utilizando la API Google Maps.
VACANTE
Senior Software Engineer
Terminal, está en busca de un Ingeniero Frontend con más de 6 años de experiencia profesional como ingeniero de software, conocimiento profundo de los patrones, la arquitectura y las mejores prácticas de ingeniería de software front-end. Experiencia con Javascript moderno y ReactJS. Experiencia con CSS moderno. Experiencia en la creación de API GraphQL (Apollo). Competencia en la escritura de código basado en pruebas (Jest). BS o M.S. Licenciatura en Informática o título equivalente en Ingeniería.
CHALLENGE
Escribir una función en JavaScript que compare si dos objetos son iguales, no solo en términos de estructura, sino también en el contenido, incluyendo la comparación de objetos anidados.
En JavaScript, comparar objetos puede ser complicado, especialmente si contienen otros objetos anidados o arrays. El operador ===
solo verifica si dos objetos son exactamente la misma instancia, no si tienen el mismo contenido. Tu tarea es escribir una función deepEqual
que tome dos objetos como argumentos y devuelva true
si son iguales en términos de estructura y contenido, y false
de lo contrario.
Descripción del Reto:
La función
deepEqual
debe ser capaz de comparar propiedades y sus valores, incluyendo objetos y arrays anidados.No es necesario preocuparse por las propiedades de los prototipos, solo por las propiedades propias del objeto.
Considera la posibilidad de que algunos valores puedan ser
null
oundefined
.
Ejemplo:
let obj1 = { a: 1, b: { c: 3 } };
let obj2 = { a: 1, b: { c: 3 } };
console.log(deepEqual(obj1, obj2)); // true
obj2.b.c = 4;
console.log(deepEqual(obj1, obj2)); // false
RESULTADO
function deepEqual(obj1, obj2) {
if (obj1 === obj2) {
return true;
}
if (typeof obj1 !== "object" || obj1 === null || typeof obj2 !== "object" || obj2 === null) {
return false;
}
let entriesObj1 = Object.entries(obj1);
let entriesObj2 = Object.entries(obj2);
if (entriesObj1.length !== entriesObj2.length) {
return false;
}
for (let [key, value] of entriesObj1) {
if (!obj2.hasOwnProperty(key) || !deepEqual(value, obj2[key])) {
return false;
}
}
return true;
}
Tu feedback nos ayuda a mejorar
Por favor elige una opción y dinos lo qué te gustó y lo que no. Leemos todas las respuestas 👀
¿Qué te pareció el email de hoy? |
Iniciar Sesión o Suscríbete para participar en las encuestas. |
¡Hasta mañana! 🤟