Arrays 用于在JSON数据的角度js中排序的过滤器

Arrays 用于在JSON数据的角度js中排序的过滤器,arrays,angularjs,json,sorting,angularjs-filter,Arrays,Angularjs,Json,Sorting,Angularjs Filter,我是angular js新手,对angular js中过滤器的工作原理有基本的了解。我一直坚持对jSON数据数组进行排序,因为有各种各样的参数需要对其进行排序 我的JSON数组采用以下格式: [ { type:0, emp_name:"xyz", connected_on:"9876543210" }, { type:1, emp_name:"", connected_on:"9876543210" }, {

我是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\u名称为“的所有元素

在排序数组的最后,它应该包含根据emp_name:“任意名称”排序的所有剩余元素

因此,结果应该如下所示:

[
  {
     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是唯一值,因此我使用的是JSONarr的track.connected_on

假设您的数组名为emplist。你可以在这里搜索任何东西。你会得到想要的结果。使用表格搜索数据

<input type="text" ng-model="search">
  <table>
    <th>type</th>
    <th>Emp name</th>
    <th>connected on</th>
    <tr ng-repeat="item in emplist|filter:search">
       <td>{{item.type}}<td>
       <td>{{item.emp_name}}<td>
       <td>{{item.connected_on}}<td>
    </tr>
 </table>

类型
Emp名称
接通
{{item.type}
{{item.emp_name}
{{item.connected{u on}}

排序函数,结果为
-1
0
-1
<代码>-1表示之前,0表示没有更改,1表示以后

现在必须基于2个参数进行排序,因此最好有一个算术值。基于优先级具有更高的值。因此,在下面的情况下,我们必须首先根据
类型
进行排序,然后根据
emp_name
进行排序

要进行升序排序,返回1表示较大,返回-1表示较小。对于降序,请反转值。现在,将这两个键组合起来,您将得到如下结果:

var data=[{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”};
数据排序(函数(a,b){
变量a=a.type>b.type?-10:a.typeb.emp\u name?1:a.emp\u name控制台。日志(数据)< /代码> LoaScript有这样的功能:如果您考虑在LoADI上排序数组,则不必搜索,只需要在显示控制器中创建的过滤器时显示元素。谢谢,它像魅力一样工作,我错过了取它的诀窍-10高兴,能够帮助您。