Ich versuche, ein Array mit mehr als einem Filter zu filtern. Aber bisher ist es mir nicht gelungen, das zu bekommen, was ich erwarte.filter mutidimensional Array mit typeScript
das ist meine Komponente Angular
list = [ {type: type1, code: code1}, {type: type2, code: code2}]
searchElement(code?: string, type?: string){
var myVar = this.list
if(type)
myVar = myVar.filter(elt => elt.type.indexOf(type) > -1);
if(code)
myVar = myVar.filter(elt => elt.type.indexOf(code) > -1);
//call another function myFunction() with the filtered array myVar
}
Wegen des asynchronen Verhaltens myFunction()
aufgerufen wird, bevor meineVar gefiltert wird. Wie kann ich sicherstellen, dass myVar gefiltert wird, bevor Sie myFunction()
aufrufen?
Wenn um Hilfe zu bitten, stellen Sie sicher,/indent zu formatieren Sie den Code in einem vernünftigen, konsistente Art und Weise, um es einfacher für die Menschen, die Sie helfen um es zu lesen. (Es ist auch wirklich nützlich, das immer zu tun, damit * Sie * es leichter lesen können.) –
Seitennotiz: Das ist kein mehrdimensionales Array. Es ist eine Anordnung von Objekten. (Technisch gesehen hat JavaScript keine mehrdimensionalen Arrays, sondern Arrays von Arrays, zB '[[], [], []]'; Leute neigen dazu, sie als mehrdimensionale Arrays zu betrachten. Aber dies ist ein Array von Objekten anstelle von einem Array von Arrays, also überhaupt nicht wie ein MD-Array.) –