Update: @virusek391 Chociaż swoją drogą, nie jestem pewien czy powinieneś umieszczać ciąg "Nie"
/"Tak"
w polu odebrane
. Myślę że rozważniej byłoby umieścić tam po prostu wartość true
/false
, i potem zamienić ją na odpowiedni "ludzki" wygląd, dopiero w momencie w którym będziesz prezentował te dane użytkownikowi. Wtedy w ogóle nie musisz nic zamieniać, i wystarczy że zrobisz
odebrane: pozycja.ilosc > 0
Poprzednia odpowiedź
jak zrobić coś takiego że podczas przypisywania danych do tablicy sprawdzany jest warunek przy pozycja.ilosc i jeżeli wynosi 0 to przypisuje do pola odebrane wartość ,,NIE".
Faktycznie przykład od @AdamWox wydaje się najbardziej przejrzysty, dla tak prostego przykładu; jednak gdyby miało się okazać że podobny problem wystąpiłby z bardziej skomplikowanymi danymi, to warto dla kompletności dodać dwie pozostałe opcje.
Wersja 1. patrz odpowiedź: @AdamWox (ternary operator)
Wersa 2. funkcja
const wiersz = pobierz_zlecenia.map(pozycja => ({
id: pozycja.id,
kontrahent_id: pozycja.kontrahent_id,
kontrahent: pozycja.kontrahent_nazwa,
telefon: pozycja.telefon,
ilosc: pozycja.ilosc,
odebrane: odebrane(pozycja)
}));
function odebrane(pozycja) {
if (pozycja.length === 0) {
return "Nie";
}
return "Tak";
}
Wersja 3. if
+ zmienna
const wiersz = pobierz_zlecenia.map(pozycja => {
let odebrane;
if (pozycja.ilosc === 0) {
odebrane = "Nie";
} else {
odebrane = "Tak";
}
return {
id: pozycja.id,
kontrahent_id: pozycja.kontrahent_id,
kontrahent: pozycja.kontrahent_nazwa,
telefon: pozycja.telefon,
ilosc: pozycja.ilosc,
odebrane
};
});