filterMembers
Filter data using a query.
    queryLogic.filterMembers(a, [b,] bData)
  
  Filters the a query's records from another super set query's records.
import {QueryLogic} from "can";
const queryLogic = new QueryLogic();
const filter = queryLogic.filterMembers(
  {filter: {type: "dog"}},
  {filter: {type: ["dog", "cat"]}},
  [{id: 1, type:"cat"},
  {id: 2, type: "dog"},
  {id: 3, type: "dog"},
  {id: 4, type: "zebra"}]
);
console.log( filter ); //-> [{id: 2, type: "dog"},{id: 3, type: "dog"}]
The super set b argument is optional.  It defaults to assuming the universal query.  For example,
the following still works:
import {QueryLogic} from "can";
const queryLogic = new QueryLogic();
const filter = queryLogic.filterMembers(
  {filter: {type: "dog"}},
  [{id: 1, type:"cat"},
  {id: 2, type: "dog"},
  {id: 3, type: "dog"},
  {id: 4, type: "zebra"}]
);
console.log( filter ); //-> [{id: 2, type: "dog"},{id: 3, type: "dog"}]
The super set b argument is important when pagination is present:
import {QueryLogic} from "can";
const queryLogic = new QueryLogic();
const filter = queryLogic.filterMembers(
  {page: {start: 11, end: 12}},
  {page: {start: 10, end: 13}},
  [{id: 1, type:"cat"},
  {id: 2, type: "dog"},
  {id: 3, type: "dog"},
  {id: 4, type: "zebra"}]
);
console.log( filter ); //-> [{id: 2, type: "dog"},{id: 3, type: "dog"}]
records will be returned sorted by the query's sort property.
Parameters
- a {Query}:The query whose data will be returned. 
- b {Query}:An optional superset of query a. If only two arguments are provided, the universal set is used.
- bData {Array<Object>}:The data in query b.
Returns
 {Array<Object>}: 
The data in query a.
 GitHub
GitHub Twitter
Twitter