AngularJS:以n个元素为一组重复

乔82

我有一组这样的数据:

$scope.items = [
    { model:"A", price: 100, quantity: 30}, 
    { model:"B", price: 90, quantity: 20 },
    { model:"C", price: 80, quantity: 200 }, 
    { model:"D", price: 70, quantity: 20 },
    { model:"E", price: 60, quantity: 100 }, 
    { model:"F", price: 50, quantity: 70 },
    { model:"G", price: 40, quantity: 230 }, 
    { model:"H", price: 30, quantity: 50 }
];

我想使用ng-repeat,然后将其分成4组,所以输出将是这样的

<ul>
    <li> model:"A", price: 100, quantity: 30</li>
    <li> model:"B", price: 90, quantity: 20</li>
    <li> model:"C", price: 80, quantity: 200</li>
    <li> model:"D", price: 70, quantity: 20</li>
</ul>
<ul>
    <li> model:"E", price: 60, quantity: 100</li>
    <li> model:"F", price: 50, quantity: 70</li>
    <li> model:"G", price: 40, quantity: 230</li>
    <li> model:"H", price: 30, quantity: 50</li>
</ul>

然后可以按价格和数量进行排序。我尝试过

<li ng-repeat="x in items.slice(0,4)">

但是我可以在每个组中进行排序。另外,我正在寻找一种适用于任何给定数量元素的解决方案。当您事先知道将要拥有的物品数量时,此提议的解决方案将ng-repeat物品分组即可使用。

PS:我试图不使用分页指令,因为它使我与其他脚本发生冲突。

提前致谢!

克朗巴赫

使用lodash(_。sortBy和_.chunk)创建了一个示例,它不是最好的,但总比没有好:

https://jsfiddle.net/1LLf7gz6/

您还可以通过删除以下内容来缩短:

$scope.itemssorted = _.sortBy($scope.items, 'price');

并添加以下内容:

$scope.itemschunk = _.chunk(_.sortBy($scope.items, 'price'), 4);

jsfiddle(新):https ://jsfiddle.net/py5hs1yj/

带有排序按钮的jsfiddle示例:https://jsfiddle.net/Ldcpx35w/

说明文件:

._sortBy()-> https://lodash.com/docs#sortBy ._chunk()-> https://lodash.com/docs#chunk

jsfiddle代码:

脚本:

var app = angular.module('anExample', []);

app.controller('theController', ['$scope',function($scope){
    $scope.test = 'this is a test';

  $scope.items = [
    { model:"A", price: 100, quantity: 30}, 
    { model:"B", price: 90, quantity: 20 },
    { model:"C", price: 80, quantity: 200 }, 
    { model:"D", price: 70, quantity: 20 },
    { model:"E", price: 60, quantity: 100 }, 
    { model:"F", price: 50, quantity: 70 },
    { model:"G", price: 40, quantity: 230 }, 
    { model:"H", price: 30, quantity: 50 }
    ];

  //$scope.itemssorted = _.sortBy($scope.items, 'price');
  //example: reverse array
  //$scope.itemssorted = _.sortBy($scope.items, 'price').reverse();

  $scope.itemschunk = _.chunk(_.sortBy($scope.items, 'price'), 4);


  console.log("items: ", $scope.items);
  console.log("items chunked: ", $scope.itemschunk);
  //console.log("items sorted: ", $scope.itemssorted);

}]);

HTML:

<div ng-app="anExample" ng-controller="theController">

    Hello, {{test}}!
    <ul ng-repeat="group in itemschunk">
      <li ng-repeat="items in group"> Model: {{items.model}}, price: {{items.price}}, quantity: {{items.quantity}}</li>
    </ul>

</div>

结果:

Hello, this is a test!

Model: H, price: 30, quantity: 50
Model: G, price: 40, quantity: 230
Model: F, price: 50, quantity: 70
Model: E, price: 60, quantity: 100

Model: D, price: 70, quantity: 20
Model: C, price: 80, quantity: 200
Model: B, price: 90, quantity: 20
Model: A, price: 100, quantity: 30

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查找一组n个元素的k个独特元素子集的唯一组成

来自分类Dev

T-SQL 更新查询以三个为一组输入重复数据

来自分类Dev

如何在CSS中的每个第n个元素之后选择一组元素?

来自分类Dev

将数组分组为2个元素的子数组,最后一组缺失

来自分类Dev

将数组分组为2个元素的子数组,最后一组缺失

来自分类Dev

如何创建一组包含k个和平的n个元素的变体?

来自分类Dev

重复一组字符

来自分类Dev

根据权重在N个存储桶之间分解一组元素

来自分类Dev

使一组元素透明(一个除外)

来自分类Dev

使一组元素透明(一个除外)

来自分类Dev

以 2 为一组选择列表中的元素 - Bash

来自分类Dev

组合满足特定要求的n个大小为k的唯一组的最佳方法

来自分类Dev

检查一组包含多少个元素

来自分类Dev

随机抽取一组中的p个不同元素

来自分类Dev

在元组内生成一组 2 个元素的元组

来自分类Dev

以两个或多个为一组遍历列表

来自分类Dev

有没有办法为每个“组”提取一个记录,该记录与同一组中的其他记录具有重复的价格?

来自分类Dev

您有一组N个范围,是否可以找到O(n)中的交集是否为空?

来自分类Dev

从对象列表中选择一组n个对象

来自分类Dev

使用AngularJS在同一表行中重复一组<td>

来自分类Dev

在一组元素中查找元素

来自分类Dev

给定一组N个整数和一个y,确定N中是否存在两个元素的绝对差等于y

来自分类Dev

为变量的每个唯一组合创建具有n个随机数的列

来自分类Dev

如何包装属于一个类的一组元素以适合其父元素?

来自分类Dev

在一组重复的有序元素中表达递归引用

来自分类Dev

在一组重复的有序元素中表达递归引用

来自分类Dev

根据一组元素重复制作自举手风琴

来自分类Dev

jQuery:从数组中的一组重复对象中打印第一个对象

来自分类Dev

为一组重复数据删除的点生成索引的numpy数组

Related 相关文章

  1. 1

    查找一组n个元素的k个独特元素子集的唯一组成

  2. 2

    T-SQL 更新查询以三个为一组输入重复数据

  3. 3

    如何在CSS中的每个第n个元素之后选择一组元素?

  4. 4

    将数组分组为2个元素的子数组,最后一组缺失

  5. 5

    将数组分组为2个元素的子数组,最后一组缺失

  6. 6

    如何创建一组包含k个和平的n个元素的变体?

  7. 7

    重复一组字符

  8. 8

    根据权重在N个存储桶之间分解一组元素

  9. 9

    使一组元素透明(一个除外)

  10. 10

    使一组元素透明(一个除外)

  11. 11

    以 2 为一组选择列表中的元素 - Bash

  12. 12

    组合满足特定要求的n个大小为k的唯一组的最佳方法

  13. 13

    检查一组包含多少个元素

  14. 14

    随机抽取一组中的p个不同元素

  15. 15

    在元组内生成一组 2 个元素的元组

  16. 16

    以两个或多个为一组遍历列表

  17. 17

    有没有办法为每个“组”提取一个记录,该记录与同一组中的其他记录具有重复的价格?

  18. 18

    您有一组N个范围,是否可以找到O(n)中的交集是否为空?

  19. 19

    从对象列表中选择一组n个对象

  20. 20

    使用AngularJS在同一表行中重复一组<td>

  21. 21

    在一组元素中查找元素

  22. 22

    给定一组N个整数和一个y,确定N中是否存在两个元素的绝对差等于y

  23. 23

    为变量的每个唯一组合创建具有n个随机数的列

  24. 24

    如何包装属于一个类的一组元素以适合其父元素?

  25. 25

    在一组重复的有序元素中表达递归引用

  26. 26

    在一组重复的有序元素中表达递归引用

  27. 27

    根据一组元素重复制作自举手风琴

  28. 28

    jQuery:从数组中的一组重复对象中打印第一个对象

  29. 29

    为一组重复数据删除的点生成索引的numpy数组

热门标签

归档