Javascript angularjs过滤器:ng选项删除重复项

Javascript angularjs过滤器:ng选项删除重复项,javascript,json,angularjs,filter,duplicate-removal,Javascript,Json,Angularjs,Filter,Duplicate Removal,当您从json获取数据时,是否有方法从angularjs中的选项字段中删除重复的值。 例如:我有很多类似这样的json对象 { productCat: "G" productCatDesc: "GENERAL" productCode: "1" productDes: "LOCAL" subproductCode: "10" } { productCat: "G" productCatDesc: "GENERAL" productCode: "1" productDes: "FOREIGN"

当您从json获取数据时,是否有方法从angularjs中的选项字段中删除重复的值。 例如:我有很多类似这样的json对象

{
productCat: "G"
productCatDesc: "GENERAL"
productCode: "1"
productDes: "LOCAL"
subproductCode: "10"
}

{
productCat: "G"
productCatDesc: "GENERAL"
productCode: "1"
productDes: "FOREIGN"
subproductCode: "10"
}
{
productCat: "G"
productCatDesc: "RELIGION"
productCode: "1"
productDes: "GEN"
subproductCode: "10"
}
{
productCat: "G"
productCatDesc: "RELIGION"
productCode: "1"
productDes: "REL"
subproductCode: "10"
}
注意:有许多类似的对象。我的任务是根据“productCatDesc”显示“productDes”。我已经硬编码了“productCatDesc”。例如:如果我从选择选项中选择General,我必须根据它显示“productDes”。但是我这样做的方式是从每个产生重复数据的对象中读取“productDes”。我只想显示2种类型(本地、外部)。我如何实现这一点

这就是我目前所拥有的

 $scope.productList = function(){

                          if($scope.user.productCat.name.localeCompare("GENERAL")==0){
                          window.alert("genData");

                        //     $scope.productListArr = $scope.generalData;


                          for(var k=0; k<$scope.generalData.length ; k++){

                          $scope.productListArr[0] = $scope.generalData[0];

                          var arrayObject = $scope.generalData[k];

                          if($scope.productListArr[k].productDes.localeCompare(arrayObject.productDes) != 0){

                          $scope.productListArr.push(arrayObject);

                          }


                          }


                             } else {
                          window.alert("IslData");

                             $scope.productListArr = $scope.islamicData;



                          for(var k =0; k< $scope.productListArr.length ;k++){

                          var arrayObj =  $scope.productListArr[k];

                          if ($scope.filteredProductArray.indexOf(arrayObj.productDes) == -1) {

                          $scope.filteredProductArray.push(arrayObj);

                          }
                          }
                          window.alert("here");

                          window.alert(filteredProductArray.length);

                           }

                          };
$scope.productList=function(){
if($scope.user.productCat.name.localeCompare(“常规”)==0){
窗口警报(“性别数据”);
//$scope.productListArr=$scope.generalData;
对于(var k=0;k

请发布你的相关html代码我已经把它放在我的答案(我的js)中了请把你的相关html放在这种情况下,你必须创建一个所需属性的唯一数组,以绑定到该jsonMukund Kumar:完成!
    <div class="form-group" ng-class="{ 'has-error' :submitted && (userForm.productCat.$pristine || thirdPartyForm.productCat.$invalid)}">
        <label  class="labelColor"><h5><b>Product Category</b></h5></label>
        <select id="productCat" name="productCat"  style="margin: auto; width:100%; " ng-model="user.productCat" ng-options="cat.name for cat in productCatList" ng-disabled="isDisabled" required>
            <option value="" selected="selected">--Select Type--</option>
            <optgroup label="user.productCat.name"></optgroup>

        </select><br>

        <span class="help-inline" ng-show="submitted && (userForm.productCat.$pristine || userForm.productCat.$invalid)" >A Product Category is required.</span>


    </div>
    <toaster-container toaster-options="{'note': 3000, 'close-button':true}"></toaster-container>


     <!--Product-->

    <div class="form-group" ng-class="{ 'has-error' :submitted && (userForm.product.$pristine || thirdPartyForm.product.$invalid)}">
        <label  class="labelColor"><h5><b>Product</b></h5></label>
        <select id="product" name="product"  style="margin: auto; width:100%; " ng-model="user.product" ng-options="prod.name for prod in productList" ng-disabled="isDisabled" required>
            <option value="" selected="selected">--Select Type--</option>
            <optgroup label="user.product.name"></optgroup>

        </select><br>

        <span class="help-inline" ng-show="submitted && (userForm.product.$pristine || userForm.product.$invalid)" >A Product is required.</span>
       </div> 

    <!--Sub Product-->
     <div class="form-group" ng-class="{ 'has-error' :submitted && (userForm.Subproduct.$pristine || thirdPartyForm.Subproduct.$invalid)}">
        <label  class="labelColor"><h5><b>Sub Product</b></h5></label>
        <select id="Subproduct" name="Subproduct"  style="margin: auto; width:100%; " ng-model="user.Subproduct" ng-options="Subprod.name for Subprod in SubproductList" ng-disabled="isDisabled" required>
            <option value="" selected="selected">--Select Type--</option>
            <optgroup label="user.Subproduct.name"></optgroup>

        </select><br>

        <span class="help-inline" ng-show="submitted && (userForm.Subproduct.$pristine || userForm.Subproduct.$invalid)" >A Sub Product is required.</span>


    </div>





    <!-- BUTTONS -->
    <div class="col"style="text-align: center">
        <button align="left"class="button button-block button-reset"style="display: inline-block;width:100px;text-align:center "
            type="reset"
            ng-click="submitted = false;  reset();" padding-top="true">Reset</button>


        <button class="button button-block button-positive"  style="display: inline-block;width:100px "
            ng-click="submitted=true; "padding-top="true">Submit</button>
    </div>