JSON filter function example

JavaScript

var json = '[{"mealname":"Breakfast","mealid":1,"mealtypename":"Cold Drink","mtcode":"cbev","start_time":"07:00:00","end_time":"11:30:00"},{"mealname":"Breakfast","mealid":1,"mealtypename":"Hot Beverage","mtcode":"hbev","start_time":"07:00:00","end_time":"11:30:00"},{"mealname":"Lunch","mealid":2,"mealtypename":"Cold Drink","mtcode":"cbev","start_time":"12:00:00","end_time":"13:30:00"},{"mealname":"Lunch","mealid":2,"mealtypename":"Hot Beverage","mtcode":"hbev","start_time":"12:00:00","end_time":"13:30:00"},{"mealname":"Lunch","mealid":2,"mealtypename":"Lunch Feature","mtcode":"lunf","start_time":"12:00:00","end_time":"13:30:00"},{"mealname":"Lunch","mealid":2,"mealtypename":"Lunch Sides","mtcode":"lunsd","start_time":"12:00:00","end_time":"13:30:00"},{"mealname":"Lunch","mealid":2,"mealtypename":"Lunch Soup","mtcode":"lunsp","start_time":"12:00:00","end_time":"13:30:00"},{"mealname":"Lunch","mealid":2,"mealtypename":"Lunch Dessert","mtcode":"lund","start_time":"12:00:00","end_time":"13:30:00"},{"mealname":"Dinner","mealid":3,"mealtypename":"Cold Drink","mtcode":"cbev","start_time":"17:00:00","end_time":"19:30:00"},{"mealname":"Dinner","mealid":3,"mealtypename":"Hot Beverage","mtcode":"hbev","start_time":"17:00:00","end_time":"19:30:00"},{"mealname":"Dinner","mealid":3,"mealtypename":"Dinner Starch 1","mtcode":"dstone","start_time":"17:00:00","end_time":"19:30:00"},{"mealname":"Dinner","mealid":3,"mealtypename":"Dinner Starch 2","mtcode":"dsttwo","start_time":"17:00:00","end_time":"19:30:00"},{"mealname":"Dinner","mealid":3,"mealtypename":"Dinner Vegetable 1","mtcode":"dvone","start_time":"17:00:00","end_time":"19:30:00"}]';

    var filter = {
        "id": new RegExp('ZZZ', 'gi')
    };

    function filterBundle(dataBundle, filter) {
        return $(dataBundle).filter(function(index, item) {
            for( var i in filter ) {
               if( ! item[i].toString().match( filter[i] ) ) return null;
            }
            return item;
        });
   ...