シナリオは次のとおりです。
listOfSelectedProductIds
選択したすべてのIDを含むというタイトルのパラメーターがあります。
のリストlistOfAllPossibleProducts
を
含む、というタイトルの別のリストがありobjects
ます。それはobject
含まれていProductId
、
ProductName
とProductCode
。これは次のようになります。
手元のタスク:
listOfSelectedProductIds
。fromとProductId
一致する場合は、そのオブジェクトを返す必要があります。ProductId
listOfAllPossibleProducts
これが私がしていることです:
function SelectedProducts(listOfSelectedProductIds){
for (var index = 0; index < listOfSelectedProductIds.length; index++) {
var currentItem = listOfSelectedProductIds[index];
var desiredProduct = _.contains(listOfAllPossibleProducts, currentItem);
if (desiredProduct === true) {
return listOfAllPossibleProducts[index];
}
}
}
現在何が起こっているのか:
currentItem
が、_.contains(...)
常にfalseを返します。質問:
listOfAllPossibleProducts
ことは持っているProductIds
ことが私と一致ProductIds
してlistOfSelectedProductIds
使ってみませんか_.filter
:
var result = _.filter(listOfAllPossibleProducts, function (el) {
return _.contains(listOfSelectedProductIds, el.id);
});
または、アンダースコア以外の方法:
var result = listOfAllPossibleProducts.filter(function (el) {
return listOfSelectedProductIds.indexOf(el.id) > -1;
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加