开发者

jQuery - Search an array of objects to filter by property of object

I have an array of objects, see below:

var orderbyColumns = [Object { Descending=true, TableName="Users", ColumnName="RankCode", more...}, Object { Descending=false, TableName="Users", ColumnName="LastName", more...}]

Now I want to extract from orderbyColumns开发者_开发百科 by the TableName and ColumnName properties.

It would be nice if the below worked, but it doesn't. Any ideas?

var filter = $(orderbyColumns).find('[ColumnName=' + columnName + ']');

It would be nice if you could do:

var filter = from x in orderbyColumns where x.TableName == "Users" && x.ColumnName == "RankCode" select x;


I might do it this way:

var orderByColumns = [ { Descending:true, TableName:"Users", ColumnName:"RankCode", more:"..."},  { Descending:false, TableName:"Users", ColumnName:"LastName", more:"..."}]
orderByColumns.findObject = findObject; 

var filter = orderByColumns.findObject("ColumnName","LastName");
alert(filter.Descending); // returns 'false'

function findObject(name,val) {
    var len = this.length;
    for (var i=0; i<len; i++) {
        if (this[i][name]===val) { return this[i]; }
    }
    return null;
}


You could have a look at linqjs -

http://linqjs.codeplex.com/

That should bring you closer to your nice to have query.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜