• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodawanie dwóch tablic - JavaScript

VPS Starter Arubacloud
0 głosów
476 wizyt
pytanie zadane 19 kwietnia 2021 w JavaScript przez ShockWave Bywalec (2,350 p.)

Cześć, mam pytanie ponieważ muszę napisać funkcję, która będzie filtrować dwie tablice i wyciągać z nich tylko liczby dodatnie, a następnie wartości z tych dwóch tablic zwracać w jednej tablicy.

Niestety coś nie działa do końca i nie zwraca tej tablicy.

function filterItems(arr1, arr2)
{
  var even=[];
  for(i = 0; i < arr1.length && arr2.length; i++)
  {
    if(arr1[i] && arr2[i] > 0)
    {
      even.push(arr1[i] + arr2[i])
    }
  }
  return even;
};

Z góry dziękuję za pomoc.

1 odpowiedź

+3 głosów
odpowiedź 19 kwietnia 2021 przez edutomek Dyskutant (8,380 p.)
wybrane 19 kwietnia 2021 przez ShockWave
 
Najlepsza
const filterItems = (arr1, arr2) => {
  const positive = (n) => n > 0,
        pos_arr1 = arr1.filter( positive ),
        pos_arr2 = arr2.filter( positive );

  return pos_arr1.concat(pos_arr2);
};

Ewentualnie można funkcję positive przenieść poza ciało funkcji filterItems.

I jako zwolennik FP radzę mniej myśleć o pętlach, a więcej o kolekcjach ;-)

komentarz 19 kwietnia 2021 przez ShockWave Bywalec (2,350 p.)
Wiem wiem, właśnie mam problem z tym żeby przestawić się na FP. A z tego co widzę to kod wygląda o wiele lepiej.
komentarz 19 kwietnia 2021 przez Comandeer Guru (599,730 p.)

@edutomek, a ja bym tak nie szufladkował i nie "przestawiał się". Jak dla mnie największą elastyczność daje mieszanie paradygmatów (np. osobiście lubię mieć publiczne API na klasach, ale już bebechy mam często bardziej funkcyjne).

To powiedziawszy, działania na tablicach faktycznie wyglądają o wiele lepiej w funkcyjnym wydaniu.

Podobne pytania

0 głosów
2 odpowiedzi 1,787 wizyt
pytanie zadane 3 sierpnia 2018 w C i C++ przez Kr1$u Początkujący (310 p.)
0 głosów
2 odpowiedzi 4,285 wizyt
pytanie zadane 28 stycznia 2017 w JavaScript przez MTB Użytkownik (690 p.)
0 głosów
1 odpowiedź 273 wizyt
pytanie zadane 28 stycznia 2023 w JavaScript przez Verone Nowicjusz (120 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...