2011-09-15 9 views
1

のプロパティでフィルタするオブジェクトの配列を検索:jQueryの - 以下を参照してください、私はオブジェクトの配列を持つオブジェクト

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

を今、私はテーブル名とColumnNameの性質によってorderbyColumnsから抽出したいです。

以下の場合はうまくいくでしょうが、そうではありません。何か案は?

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

あなたが行うことができればそれはいいだろう:

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

答えて

3

私はそれをこのように行う可能性があります:

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; 
} 
+0

それは私にそれを変更するのに十分近いです:function findObjectByTableColumnName(table、column){ var len = this.length; (this [i] ["TableName"] ===テーブル&& this [i] ["ColumnName"] ===列){ コンソール.log(テーブル+ " - " +列); これを返す[i]; } } return null; } – Mark

+0

私は助けてくれると嬉しいです。あなたの好きな答えを受け入れることを忘れないでください。 – Blazemonger

1

あなたはlinqjsを見ている可能性が -

持って近づいあなたの素敵にあなたを持参してください

http://linqjs.codeplex.com/

クエリ。

+0

をええ、私はそれを見てきましたが、同等のはjQueryの中でどのように行われていますか?プラグインなし。 – Mark

関連する問題