我有一个类别对象数组

categoriesTree : [
    {name: 'cat1', id:1, selected : true},
    {name: 'cat2', id:2, selected : false},
    {name: 'cat3', id:3, selected : true},
    {name: 'cat4', id:4, selected : false},
    {name: 'cat6', id:6, selected : true},
]


要获得所选的类别,我做了:

selectedCategories = filterFilter($scope.categoriesTree, {selected:true})


这会给我:

categoriesTree : [
    {name: 'cat1', id:1, selected : true},
    {name: 'cat3', id:3, selected : true},
    {name: 'cat6', id:6, selected : true},
]


但是为了减少POST数据的发送,我只想要id属性,所以我想要一个这样的数组:

['1', '3', '6']


这可能与AngularJS过滤器有关吗?

最佳答案

res = categoriesTree.map(function(el) { return el.id; });


简短而简单,带有良好的ole js。

要回答您的问题:否,使用过滤器无法解决,但forEach可以实现

关于javascript - 如何使用AngularJS过滤对象属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22177788/

10-13 03:46