Array.prototype.map() prevede un valore restituito dalla funzione freccia:Fix
Il messaggio di errore ” Array.prototype.map() si aspetta un valore restituito dalla funzione freccia ” potrebbe apparire in Javascript. Esistono diversi scenari in cui potresti dover affrontare questo problema e ci sono molteplici modi per aggirare questo problema. Generalmente, durante l’utilizzo della funzione “ Array.prototype.map() ”, se non restituisce nulla (null) durante l’esecuzione del codice. Altrimenti, se hai commesso un errore nei passaggi precedenti relativi al metodo di filtro, potrebbe emergere anche lo stesso messaggio di errore.
Correzione – 1 Sostituisci la parentesi
Normalmente la parentesi scritta nel codice non induce alcun errore. Ma, in questo caso, l’uso di {}, invece di () nel codice.
Esempio – Questo frammento di codice –
{
Se (Object.keys(t.pr.part).map((par) => {
if(t.pr.part[par].user_identifiant === getUrlParams(window.location.hash).user_identifiant)
this.setState({
par:t.pr.part[part].id_user
})
})
}
Questa parte del codice riceverà il messaggio ” Previsto ritorno di un valore nella funzione freccia “. Per risolvere questo problema, è sufficiente modificare questo ” ({ ” in ” (( ” nel codice.
Ad esempio, lo snippet di codice sarà simile a questo:
Object.keys(t.pr.part).map((par) => {
if(t.pr.part[par].user_identifiant === getUrlParams(window.location.hash).user_identifiant)
this.setState((
par:t.pr.part[part].id_user
))
)}
))
In questo modo puoi risolvere il problema del codice.
Correzione 2: utilizzare ForEach invece Array.map
Invece di utilizzare la funzione Array.map, utilizzare la funzione Array.ForEach nel codice per ottenere gli stessi risultati.
La funzione Foreach invece del metodo map può essere utilizzata se la particolare funzione del codice non deve restituire alcun valore.
Esempio –
ListService?.map((service, j) => {
ritorno (
<Chiave servizio principale={service.id} {…{service, num: j }} />
)
})
Puoi sostituire la funzione della mappa principale e modificare il codice in questo modo:
ListService?.forEach((item) => {
csvData.push({
“Nome”: oggetto?.nome,
“Lavoro”: oggetto?.desc,
})
})
In questo modo, puoi ignorare completamente la funzione Array.map ed evitare di ricevere il messaggio del valore restituito.
Correzione 3: restituisce il valore nullo
Dovresti includere una condizione else alla fine del codice e lasciare che restituisca il valore null, se la funzione Array.map non può iterare alcun valore.
È molto facile. Includi semplicemente questo:
else {
restituisce null:
}
}
Fai solo attenzione alle parentesi ed esegui il codice. Successivamente, compila ed esegui il codice e testalo.
Ogni volta che il codice fallisce, itererà almeno un valore nullo, non il messaggio di errore ” Array.prototype.map() si aspetta un valore restituito dalla funzione Arrow “.
Correzione 4: utilizzare il codice del filtro
Esiste un altro modo per affrontare questo problema. Utilizzare ” ArrayPrototype.filter() ” al posto di Array.prototype.map(), se il requisito è separare i valori in base ad alcuni parametri.
La sintassi principale di questo codice è:
let newArray = array.filter(callback(element[, index[, array]])[, thisArg])
Questo è un metodo integrato in grado di filtrare l’intero set di dati che soddisfa la condizione della funzione specificata.
Questi sono i modi per risolvere i problemi relativi al messaggio del valore restituito in Javascript.
Lascia un commento