ここで私のJavaScriptの知識にギャップがあります。オブジェクト値の配列で特定の値を検索して返したいのですが。
私が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;
})();
それは機能しますが、もっとエレガントな方法があると確信しています。教えてください!
編集-解決策
以下の彼の答えで@gdoronに感謝します。
var myVar = $(self.owner.itemsArray).filter(function(){
return parseInt(this.id) == parseInt(recItemID);
}).get(0);
注:.get(0)
myVarはjQueryオブジェクトとしてラップされているため、最後に追加されました。