I think it's okay, since it's just regrouping the object's property values as iterating over a normal array would. It think it would also allow ngRepeat to pick up a speed boost on the filtered return since it's generally quicker to loop over an array than an object.