filter an array of objects based on the value of a string property

10 views (last 30 days)
Hi, if I have a class "Trade" with a property "Type".
Is there a way to easily filter an array of Trade objects based on say Type == "Cash"
I can filter on booleans easily, I just can't figure out strings.
Thanks for any help,
Tom.

Answers (1)

Jacob Halbrooks
Jacob Halbrooks on 29 Mar 2012
You can create a logical mask using ARRAYFUN, where you execute a function on each object that returns true if the object is the desired type. You can then use that logical mask to return the desired objects. For example, assume that you have an array of objects "objArr" and you want to get the objects of Type "Cash". Then execute:
mask = arrayfun(@(x)strcmp(x.Type, 'Cash'), objArr);
objTypeCashArr = objArr(mask);

Tags

No tags entered yet.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!