Le carte regalo Bunnings Warehouse sono un'idea regalo perfetta. La scelta dell'intero magazzino. Per tutte le occasioni: compleanni, congratulazioni, anniversari, inaugurazioni domestiche, matrimoni.
Per risolvere questo problema, dobbiamo riformattare i requisiti di sistema in un formato HTML strutturato. I requisiti di sistema possono essere forniti in due formati diversi e il nostro compito è gestire entrambi i formati in modo appropriato.
### Approccio
Il problema riguarda la conversione dei requisiti di sistema in una struttura HTML specifica. L'input può essere in due formati:
1. Una serie di oggetti in cui ogni oggetto contiene un singolo requisito (ad esempio, sistema operativo, processore).
2. Una matrice di oggetti in cui ogni oggetto contiene un nome di sistema e una stringa HTML che rappresenta i requisiti.
La soluzione prevede:
1. Rilevamento del formato dell'input.
2. Generazione della struttura HTML appropriata in base al formato rilevato.
Se l'input è strutturato con le chiavi «sistema» e «requisito», i requisiti di ciascun sistema vengono inclusi così come sono. Altrimenti, i requisiti vengono estratti dalle coppie chiave-valore e strutturati in un elenco non ordinato.
### Codice della soluzione
```javascript
function reformatRequirements (input) {
let output = «;
if (input.length > 0 && 'system' in input [0]) {
for (lascia la richiesta di input) {
let system = req.system;
let requirementHTML = req.requirement.replace (/'/g, «');
uscita += `
$ {system} Requisiti di sistema
SPECIFICHE MINIME
$ {requirementHTML}
`;
}
} altro {
let system = input [0]? input [0] .OS || 'PC': 'PC';
let = requisiti = input.flatMap (obj => {
let key = object.keys (obj) [0];
let value = object.values (obj) [0];
restituisce `
$ {key}: $ {value}`;
}) .join («);
uscita = `
$ {system} Requisiti di sistema
SPECIFICHE MINIME
`;
}
uscita di ritorno;
}
```
### Spiegazione
1. **Rilevamento dell'ingresso**: La funzione verifica innanzitutto se l'input è strutturato con i tasti «sistema» e «requisito». In tal caso, ogni requisito viene elaborato individualmente.
2. **Generazione HTML per input strutturato**: per ogni sistema, l'HTML viene generato includendo il nome del sistema, seguito dalla stringa HTML richiesta.
3. **Generazione HTML per input non strutturati**: se l'input non contiene chiavi «di sistema», la funzione presuppone che tutti gli oggetti siano requisiti per un singolo sistema. I requisiti vengono estratti dalle coppie chiave-valore e strutturati in un elenco non ordinato.
Questo approccio garantisce che i requisiti siano sempre presentati in un formato coerente e intuitivo, indipendentemente dalla struttura di input.
Sii il primo a recensire questo prodotto!
Condividere