Las tarjetas de regalo de Bunnings Warehouse son una idea de regalo perfecta. La elección de todo el almacén. Cualquier ocasión: cumpleaños, felicitaciones, aniversarios, inauguraciones de casas, bodas.
Para resolver este problema, necesitamos reformatear los requisitos del sistema en un formato HTML estructurado. Los requisitos del sistema se pueden proporcionar en dos formatos diferentes, y nuestra tarea consiste en gestionar ambos formatos de forma adecuada.
### Enfoque
El problema consiste en convertir los requisitos del sistema en una estructura HTML específica. La entrada puede estar en dos formatos:
1. Un conjunto de objetos en el que cada objeto contiene un único requisito (p. ej., sistema operativo o procesador).
2. Conjunto de objetos en el que cada objeto contiene un nombre de sistema y una cadena HTML que representa los requisitos.
La solución implica:
1. Detectar el formato de la entrada.
2. Generar la estructura HTML adecuada en función del formato detectado.
Si la entrada está estructurada con las claves de «sistema» y «requisito», los requisitos de cada sistema se incluyen tal cual. De lo contrario, los requisitos se extraen de los pares clave-valor y se estructuran en una lista desordenada.
### Código de solución
```javascript
función ReformatRequirements (entrada) {
deja que la salida = «;
if (input.length > 0 && 'sistema' en la entrada [0]) {
para (sin necesidad de entrada) {
let system = req.system;
let requirementHTML = req.requirement.replace (/'/g, «');
salida += `
Requisitos del sistema $ {system}
ESPECIFICACIONES MÍNIMAS
$ {requirementHTML}
`;
}
} más {
let system = input [0]? entrada [0] .OS || 'PC': 'PC';
let requirements = input.flatMap (obj => {
let key = Object.keys (obj) [0];
let value = Object.values (obj) [0];
return `
$ {key}: $ {value}`;
}) .join («);
salida = `
Requisitos del sistema $ {system}
ESPECIFICACIONES MÍNIMAS
`;
}
salida de retorno;
}
```
### Explicación
1. **Detección de entradas**: la función comprueba primero si la entrada está estructurada con las teclas de «sistema» y «requisito». Si es así, cada requisito se procesa de forma individual.
2. **Generación de HTML para entrada estructurada**: Para cada sistema, el HTML se genera incluyendo el nombre del sistema, seguido de la cadena HTML requerida.
3. **Generación de HTML para entradas no estructuradas**: Si la entrada no contiene claves de «sistema», la función asume que todos los objetos son requisitos para un solo sistema. Los requisitos se extraen de los pares clave-valor y se estructuran en una lista desordenada.
Este enfoque garantiza que los requisitos se presenten siempre en un formato uniforme y fácil de usar, independientemente de la estructura de entrada.
¡Sé el primero en reseñar este producto!
Compartir