私は、オブジェクトは、製品の配列(Product
)を反復処理し、this.name === query
の条件を満たしているインスタンスを返すようにする方法を使用するCategory
呼ばれています:- JavaScriptの
function Category(products){
this.products = products;
this.findProductByName = function(query){
$(this.products).each(function(){
return this.name === query;
}
}
}
マイ(念のため)Product
:
Category
のインスタンスを作成し
function Product(name){
this.name = name;
}
var $someCategory = new Category(
[
new Product('foo'),
new Product('bar')
]
)`
とするとき、私は呼ん:
$someCategory.findProductByName('foo'); // 'undefined'
にもかかわらず:
...
this.findProductByName = function(query){
$(this.products).each(function(){
console.log(this.name === query); // returns 'true'
}
}
...
は、私がthis.name === query
が満たされたときにオブジェクトを返すために何をしますか?
'$ .each()'メカニズムは、返された値(ほとんど)を無視します。あなたはそれが何をすると思いますか? – Pointy
each()の代わりに[] .filter()と[] .map()を使用します。 – dandavis
条件が満たされたときに正しい 'Product'インスタンスを返すので' $ someCategory'内の製品を名前で検索できます。 「返された値を無視する」とはどういう意味ですか? –