javascript - AngularJS 使用 ng-options 创建 Set

标签 javascript angularjs

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

$scope.model = [ 
    {
        id: 1, 
        country: "US"
    },
    {
        id: 2,
        country: "UK"
    },
    {
        id: 3,
        country: "DE"
    },   
    {
        id: 4,
        country: "DE"
    },    
    {
        id: 5,
        country: "DE"
    },    
    {
        id: 6,
        country: "US'
    },    
]

我想得到以下数组:

[ "US", "UK", "DE"]

为了在 <select> 中显示它像下面这样:

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

unique 并不方便,因为它的作用与我想要的完全相反。

最佳答案

Fiddle

除非我误解了您想要通过模型数组中对象的唯一属性进行过滤的问题。 唯一的过滤器通过传入属性键来实现此目的:

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

关于javascript - AngularJS 使用 ng-options 创建 Set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25744868/

相关文章:

javascript - jQuery 获取属性值,即使它发生变化

javascript - stub 请求在多个测试函数中共享

javascript - 为什么我的 ng-repeat 不起作用

javascript - 如何使用 jquery 检查多个元素是否具有相同的类?

javascript - 保存全局变量以供观看的指令的最佳方法

javascript - Typescript + Angular 公开服务方法

Angularjs - 通过点击 button1(假上传按钮)触发 button2 的点击事件

angularjs - 减轻对静态 Assets 的 Node/快速请求中反射(reflect)的 XSS

php - 来自PHP服务器的AngularJS流音频

angularjs - ng-Repeat ng-show 如果前一个项目字段值不同