Array.prototype.map() oczekuje wartości zwracanej przez funkcję strzałkową :Fix
W JavaScript może pojawić się komunikat o błędzie „ Array.prototype.map() oczekuje wartości zwracanej przez funkcję strzałki ”. Istnieje kilka scenariuszy, w których możesz napotkać ten problem i istnieje wiele sposobów na ominięcie tego problemu. Ogólnie rzecz biorąc, podczas korzystania z funkcji „ Array.prototype.map() ”, jeśli podczas wykonywania kodu nie zwraca ona niczego (null). W przeciwnym razie, jeśli popełniłeś błąd w poprzednich krokach związanych z metodą filtrowania, może pojawić się ten sam komunikat o błędzie.
Poprawka – 1 Zamień nawias
Zwykle nawiasy zapisane w kodzie nie powodują żadnego błędu. Ale w tym przypadku użycie {} zamiast () w kodzie.
Przykład – Ten fragment kodu –
{
If (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[część].id_user
})
})
}
W tej części kodu zostanie wyświetlony komunikat „ Oczekuje się, że zwróci wartość w funkcji strzałki ”. Aby to naprawić, po prostu zmień „ ({ ” na „ (( ”) w kodzie.
Fragment kodu będzie wyglądał tak –
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[część].id_user
))
)}
))
W ten sposób możesz rozwiązać problemy z kodem.
Poprawka 2 – zamiast tego użyj ForEach Array.map
Zamiast używać funkcji Array.map, użyj funkcji Array.ForEach w kodzie, aby uzyskać te same wyniki.
Zamiast metody map można zastosować funkcję Foreach, jeśli dana funkcja w kodzie nie musi zwracać żadnej wartości.
Przykład –
ListService?.map((service, j) => {
powrót (
<Główny klucz usługi={service.id} {…{service, num: j }} />
)
})
Możesz zastąpić główną funkcję mapy i zmienić kod w następujący sposób –
ListService?.forEach((item) => {
csvData.push({
„Nazwa”: przedmiot?. nazwa,
„Praca”: pozycja?.desc,
})
})
W ten sposób możesz całkowicie ominąć funkcję Array.map i uniknąć komunikatu o zwracanej wartości.
Poprawka 3 – Zwróć wartość null
Powinieneś dodać warunek else na końcu kodu i pozwolić mu zwrócić wartość null, jeśli funkcja Array.map nie może iterować żadnej wartości.
To bardzo łatwe. Po prostu uwzględnij to –
else {
zwróć wartość zerową:
}
}
Uważaj tylko na nawiasy i wykonaj kod. Następnie skompiluj, uruchom kod i przetestuj.
Ilekroć kod się nie powiedzie, wykona przynajmniej iterację wartości null, a nie komunikat o błędzie „ Array.prototype.map() oczekuje wartości zwracanej z funkcji strzałki ”.
Poprawka 4 – Użyj kodu filtra
Istnieje inny sposób poradzenia sobie z tym problemem. Użyj „ ArrayPrototype.filter() ” zamiast Array.prototype.map(), jeśli wymagane jest segregowanie wartości w oparciu o pewne parametry.
Główna składnia tego kodu to –
let newArray = array.filter(callback(element[, index[, array]])[, thisArg])
Jest to metoda wbudowana, która może odfiltrować cały zestaw danych spełniający warunek określonej funkcji.
Oto sposoby rozwiązywania problemów z komunikatem wartości zwracanej w JavaScript.
Dodaj komentarz