Seite 1 von 1

Filter auf Array ? [erledigt]

Verfasst: Fr, 02. Nov 2018 22:39
von AUGE_OHR
hi,

wie hole ich aus einem Array nur die Elemente die einem "Filter" entsprechen :?:

Code: Alles auswählen

FUNCTION ArrayFilter(cDLL)
LOCAL aALL := Get_Array()
LOCAL aRet := {}
LOCAL nStart := 1
LOCAL nPosi

   DO WHILE .T.
      nPosi := ASCAN(aALL,{|x| x[1] = cDLL },nStart)
      IF nPosi > 0
         AADD(aRet,aALL[nPosi])
         nStart := nPosi+1
      ELSE
         EXIT
      ENDIF
   ENDDO
RETURN aRet
so geht es zwar aber es müsste "noch einfacher" gehen ... wie :-k

Re: Filter auf Array ?

Verfasst: Fr, 02. Nov 2018 22:57
von Werner_Bayern

Code: Alles auswählen

aeval(aAll, {|x|if(x[1] = cDLL, aadd(aRet, x[1]), )})

Re: Filter auf Array ?

Verfasst: Fr, 02. Nov 2018 23:13
von AUGE_OHR
DANKE

da es sich um ein 2-Dim Array handelt muss ich es ein wenig ändern

Code: Alles auswählen

   AEVAL(aAll, {|x|if(x[1] = cDLL, aadd(aRet, x ), )})

Re: Filter auf Array ? [erledigt]

Verfasst: Fr, 02. Nov 2018 23:19
von Werner_Bayern
Bitte :)