问题标签 [angularjs-orderby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Orderby 使用函数 AngularJS
我ng-repeat
用来列出对象数组中的项目。我想使用orderBy
(或者可能是一些自定义排序过滤器)对这些项目进行排序。
但是,我想要排序的字段并不包含在对象数组本身中,而是我有一个函数可以用来为每个单独的对象计算它;但它需要将每个单独的对象传递给它才能这样做。
像这样的东西:
getStatus 在控制器内部的位置为:
所以它返回一个字符串。
有什么方法可以通过需要数组中每个单独项目的函数进行排序,以便进行排序?
angularjs - 在 ng-repeat 中使用 orderBy 自定义订单
我有这样的对象:
假设学生对象被洗牌。我使用 ng-repeat 来显示数据。我想按自定义顺序对对象进行排序。
例如,我想显示这样的数据:
所以基本上,我想按学生的班级排序,但首先是 B_Class,然后是 A_Class,然后是 C_Class。另外,我想按学生姓名按字母顺序排列。我怎样才能做到这一点?
HTML:
控制器:
javascript - 具有自定义函数+数组的角度排序,用于多个值
我正在使用带有自定义功能的角度排序。它看起来像这样:
对象:
控制器:
但这并不漂亮&&该领域将来可能会更多。我尝试制作一个字符串以减少代码大小。
但它给出了一个错误。有没有办法用orderBy实现这一点?或者有没有可能用JavaScript做到这一点?
javascript - 使用带有数组和函数的 Angular 'orderBy' 过滤器
我要排序的对象数组如下所示:
自定义排序功能:
我正在使用 Angular orderBy 过滤器:
使用上面的代码,我可以按年份对学生数组进行排序。但我想像这样对数组进行排序:year: DESC,然后name: ASC,然后score: DESC。
我为此做了一个数组:
我改变了这样的排序逻辑:
但它给出了一个错误。
有没有可能对学生数组进行排序的方法?
javascript - OrderBy 日期值,它们只是 Angular JS 中的字符串
我正在尝试按日期排序一些数据,尽管日期只是字符串,格式为 dd-mm-yyyy。
我做了一个过滤器,它转换了纯数字字符串(在美国日期格式中,我想要英国日期格式),例如 01272012 到 27-01-2014,但是当我尝试订购它们时,它仍然只将它们视为数字字符串,因此 01-01-1990 将出现在 02-01-2014 之前。
关于如何在过滤器中执行此操作的任何建议?
谢谢!
更新
我发现如果日期格式是 yyyy-mm-dd,日期会自动排序。然后我习惯于orderBy:['date']
对数据进行排序,仅在显示数据时使用我原来的过滤器。
我最终不得不反转我的数据,显示最近的日期。为了实现这一点-
,我在 orderBy 语句中添加了一个:orderBy:['-date']
。
json - 角度 orderBy 对象可能吗?
我有一个表示日历日期的 JSON 对象。这些是通过 CMS 添加的,我希望能够根据日期过滤它们。我的模式设置使这比我想象的更困难。是否可以在此 JSON 对象中按天排序,或者是否有过滤器解决方法?
这是我的 JSON 对象:
这是我的视图,它已经使用自定义过滤器按月过滤。orderBy 不起作用,但我将其作为占位符保留,以显示我想在哪里设置功能。
javascript - 使用 Angular 的 orderBy 指令自定义排序
以下是从 A 到 Z 的排序标准:1) 特殊字符 2) 数字 3) 字母
For example:-
Expected result after sorting:-
我想使用 AngularorderBy
过滤器来实现这一点。和 JS 自定义排序函数一样,我们有两个参数,通过操作我们可以返回 >0、<0 和 0 来实现自定义排序。
我的尝试
JS
谢谢
javascript - 使用 Angular 对列进行优先排序
我正在尝试使用角度对我的列进行排序。我有角度教程的代码可以工作。
现在我很难让一排始终保持在顶部。例如,我将有一列称为 mainContact。此值只能设置一个人为真。我希望 mainContact 为 true 的人始终留在表格的第一行,而其他人则随着排序而变化。老实说,我对如何做到这一点的想法有点迷茫。
我把它放在一起来展示我到目前为止所拥有的:http: //jsfiddle.net/Beastwood/m44fy1j5/
JS文件
angularjs - ng-repeat 中的 angular orderBy 不起作用
找不到任何与我的问题相匹配的现有问题...
OrderBy 不适合我;我归结为以下示例代码:
控制器:
并查看:
两个列表的顺序相同。
据我所见,我做事正确 - purchaseDate 函数返回 Date.parse 输出,它是一个 int,据我所见,这应该可以工作......
谁能看到我做错了什么?