Untitled
unknown
plain_text
9 months ago
1.6 kB
9
Indexable
interface ReferenceDataResponse { code: string; name: string; } // Example response data const responseData: ReferenceDataResponse[] = [ { code: "PP", name: "Name 1" }, { code: "CT", name: "Name 2" }, { code: "PP", name: "Name 3" }, { code: "CT", name: "Name 4" } ]; // Function to filter response based on criteria function filterResponse(response: ReferenceDataResponse[], filters: ReferenceDataFilterRequest[]): ReferenceDataResponse[] { return response.filter(entry => { // Check against each filter criterion for (let filter of filters) { if (filter.criteriaName === "OWNER_SHIP_TYPE") { // Apply specific filtering logic based on criteriaValue if (filter.criteriaValue === "1") { // Return entries that don't have code "PP" if (entry.code === "PP") return false; } else if (filter.criteriaValue === "2") { // Return entries that have code "CT" only if (entry.code !== "CT") return false; } } // Add more criteria checks here if needed } return true; // Include the entry by default if no filters exclude it }); } // Example filter request const filterRequest: ReferenceDataFilterRequest[] = [ { criteriaName: "OWNER_SHIP_TYPE", criteriaValue: "1" } ]; // Applying the filter to responseData const filteredData = filterResponse(responseData, filterRequest); // Output the filtered data console.log(filteredData);
Editor is loading...
Leave a Comment