在我的例子中如何比较数组?

How to compare arrays in my case?

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

我有类似的东西

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

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

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

我有类似的东西

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

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

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

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

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

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

Plunker