ここで私のJavaScriptの知識にはギャップがあります。特定の値のオブジェクト値の配列を検索して返したいと思います。jQueryを使用したJavascriptの効率的な検索配列
私はJavaScriptを書いてきた年のために、私はこのようにそれを実施しています
var itemClicked = (function(){
var retval;
//Note self.inventory.itemsArray is an array of JS objects
$(self.inventory.itemsArray).each(function(i){
if(parseInt(this.id) === parseInt(idOfItem)){
retval = this;
return false;
}
});
return retval;
})();
それは動作しますが、私はもっとエレガントな方法があるものとして確信しています。教えてください!
EDIT - ソリューション
以下の彼の答えと@gdoronに感謝します。
var myVar = $(self.owner.itemsArray).filter(function(){
return parseInt(this.id) == parseInt(recItemID);
}).get(0);
注:myVarにはjQueryオブジェクトとしてラップされるため.get(0)
エンドで添加しました。このため
「* more efficient *」を定義します。 "*文字が少ない*"と誤解する人もいます。 – Alexander
したがって、 'self.inventory.itemsArray'はセレクタまたはjQueryオブジェクトの配列ですか? – elclanrs
IDで配列のインデックスを作成しないのはなぜですか?彼らはあなたがしなければならない 'return self.inventory。itemsArray [id] 'を実行し、ループを完全に回避します。 –