AngularJS过滤器模型并按ID列表排序

时间:2014-02-14 10:12:36

标签: javascript angularjs

我有产品型号列表

$scope.products=[{id:1,name:'product1'},{id:2,name:'product2'},{id:3,name:'product3'}, /*...*/]

和所选产品(ID列表)

$scope.selectedProducts=[1,5,3,8,12]

我必须以与selectedProduct列表中相同的顺序显示所选产品

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以应用过滤器。工作小提琴:http://jsfiddle.net/6XdaH/

过滤器代码:

angular.module('myApp',[]).filter('filteredProducts', function(){

  return function(items,selectedProducts){
    var arrayToReturn = [];
    selectedProducts=[1,5,3];       
    for (var i=0; i<items.length; i++){
        for(var j=0;j<selectedProducts.length;j++){
            if (items[i].id == selectedProducts[j]) {
            arrayToReturn.push(items[i]);
            }
        }            
    }

    return arrayToReturn;
  };
});