I'm having trouble figuring out how to set a property dynamically in underscore.js while using the _.findWhere function.
Here's the documentation for the function:
findWhere_.findWhere(list, properties)
Looks through the list and returns the first value that matches all of the key-value pairs listed in properties.
If no match is found, or if list is empty, undefined will be returned.
_.findWhere(publicServicePulitzers, {newsroom: "The New York Times"}); => {year: 1918, newsroom: "The New York Times", reason: "For its public service in publishing in full so many official reports, documents and speeches by European statesmen relating to the progress and conduct of the war."}
Modeling the example in the docs, I want to set the property to search for dynamically:
var publicServicePulitzers = [
{"newsroom":"The New York Times", "year":2013 },
{"newsroom":"The Los Angeles Times", "year":2012 }
];
var myprop = 'newsroom';
_.findWhere(publicServicePulitzers, { myprop : "The New York Times"});
The result is undefined.
I also tried:
_.findWhere(publicServicePulitzers, {eval(myprop): "The New York Times"});
The error message is SyntaxError: missing : after property id
How can I accomplish this?
Thanks for any help.