【发布时间】:2016-10-30 18:22:02
【问题描述】:
我是 Angular js 的新手,并且对过滤器在 Angular js 中的工作方式有基本的了解。我坚持对我的 jSON 数据数组进行排序,因为它必须根据各种参数进行排序。
我的 JSON 数组是这种格式:
[
{
type:0,
emp_name:"xyz",
connected_on:"9876543210"
},
{
type:1,
emp_name:"",
connected_on:"9876543210"
},
{
type:1,
emp_name:"abcd",
connected_on:"9876543210"
},
{
type:0,
emp_name:"pqr",
connected_on:"9876543210"
}
]
同一数组的其他组合可以是:
[
{
type:0,
emp_name:"",
connected_on:"9876543210"
},
{
type:1,
emp_name:"xyz",
connected_on:"9876543210"
},
{
type:0,
emp_name:"abcd",
connected_on:"9876543210"
}
]
每个数组都会有任何一个对象,其中 type:1 将在那里,并且在排序后它必须始终是第一个元素。
之后,排序后的数组应该包含 emp_name:"" 的所有元素。
在排序后的数组的最后,它应该包含所有剩余的元素,按照 emp_name:"whatever names"
排序所以结果应该如下所示:
[
{
type:1,
emp_name:"xyz",
connected_on:"9876543210"
},
{
type:0,
emp_name:"",
connected_on:"9876543210"
},
{
type:0,
emp_name:"abcd",
connected_on:"9876543210"
}
]
谁能帮我编写过滤器以获得所需的结果。提前致谢。如果需要任何其他信息,请告诉我。
connected_on 也是唯一值,所以我使用 track by JSONarr.connected_on
【问题讨论】:
-
Lodash 有一个功能:lodash.com/docs#orderBy 如果您考虑在加载时订购数组
标签: arrays angularjs json sorting angularjs-filter