filter+forEach podmiana ifa

0

Jak mogę to podmienić zeby był filter i forEach?

  disableList(id: string) {
    this.data.blocked.forEach((block) => {
      if (!block.isBlocked && id) {
        this.service.send("/block", id);
      }
    });
  }
4

Co ten kod ma robić? W szczególności czym jest argument id i czy na pewno dla każdego bloku dla którego spełniony jest warunek ma być wysyłany ten sam request?

5

No i po co zamieniać na filter? Funkcyjnie i tak nie będzie, a co najwyżej utworzysz bezsensownie dodatkową tablicę.

edit: w sumie już chyba wiem, co chcesz zrobić, coś jak to:

this.data.blocked.filter(.....).forEach((block) => {
   //............
});

?

tu masz info o funkcji filter:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

0

dzięki, a jeszcze mam jedno pytanie. Lepiej warunek z id wyciagnąc przed petlą? czy może być w pętli ? Czy nie ma to różnicy?

 disableList(id: string) {
if(id){
    this.data.blocked.forEach((block) => {
      if (!block.isBlocked) {
        this.service.send("/block", id);
      }
    });
}
  }
3
dcielak napisał(a):

dzięki, a jeszcze mam jedno pytanie. Lepiej warunek z id wyciagnąc przed petlą? czy może być w pętli ? Czy nie ma to różnicy?

Zawsze lepiej przed pętla a pętle powinny być maksymalnie małe. Różnica jest w wydajności i IMHO w czytelności

1 użytkowników online, w tym zalogowanych: 0, gości: 1