Javascript AngularJ使用ng选项创建一个集合

Javascript AngularJ使用ng选项创建一个集合,javascript,angularjs,Javascript,Angularjs,我有一个如下所示的数据模型(还有其他字段,但这些字段是最重要的): 我要获取以下数组: [ "US", "UK", "DE"] 要在中显示它,请执行以下操作: <select ng-model="myList" ng-options="m.country for m in model | somefilter "><select> unique并不方便,因为它与我想要的正好相反。正如我在上面的评论中所提到的,我认为您需要使用select选项创建一个新的范围变量,以

我有一个如下所示的数据模型(还有其他字段,但这些字段是最重要的):

我要获取以下数组:

[ "US", "UK", "DE"]
要在
中显示它,请执行以下操作:

<select ng-model="myList" ng-options="m.country for m in model | somefilter "><select>


unique并不方便,因为它与我想要的正好相反。

正如我在上面的评论中所提到的,我认为您需要使用select选项创建一个新的范围变量,以获得初始对象的唯一值-在您将要进行的任何迭代中,您必须有一些东西来比较这些值。所以,像这样的事情应该可以做到:

$scope.countryOptions = [];
for(var i=0;i<$scope.model.length;i++){
    if($scope.countryOptions.indexOf($scope.model[i].country) === -1){
        $scope.countryOptions.push($scope.model[i].country);
    }
}

除非我误解了您希望通过模型数组中对象的唯一属性进行过滤的问题。 唯一筛选器通过传入属性键来执行此操作:

<select ng-model="selected" ng-options="m.country for m in model | unique: 'country'">
  <option value="">choose country</option>
</select>

选择国家

ng options如何实现您的目标:您到底想实现什么?我相信他需要为这些选项获得独特的国家/地区房产。如果不先创建一个额外的对象/数组(并从中获取ng选项值),我看不出该怎么做@alou,
| unique:“country”
在这种情况下不起作用吗?很可能,是的,我没有想:/@alou,没问题,我使用angular的典型问题是,问题的明显解决方案从来都不是“角度方式”
<select ng-model="myList" ng-options="item in countryOptions"><select>
<select ng-model="selected" ng-options="m.country for m in model | unique: 'country'">
  <option value="">choose country</option>
</select>