如何在我的情况下比较数组?

时间:2015-02-20 06:22:01

标签: javascript angularjs mapping

我正在尝试在我的应用中进行映射。

我有类似

的东西
$scope.newProducts = ['123','456','789']

$scope.products = [{'id':'123'}, {'id':'121'}, {'id':'678'}, {'id':'789'}];

我希望能够在new product数组中识别products

我有类似

的东西
$scope.newProducts.forEach(function(id){
    //not sure what is the best way to find new product id in $scope.products
})

我需要识别new product id数组中的products。我想知道最好的方法是做什么。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您可以在新产品上设置isNew标记。

$scope.products.forEach(function (product) {
    if ($scope.newProducts.indexOf(product.id) > -1) {
        product.isNew = true;
    }
});

答案 1 :(得分:1)

尝试使用像underscore这样的库,这使得这些类型的操作非常简单。

_.each(products, function(item){
    if (_.contains(newProducts, item.id )){
        console.log(item);
    }
});

Plunker