当前位置: 首页 > 知识库问答 >
问题:

用ng-repeat迭代数组值

乌璞瑜
2023-03-14

给定以下对象:

{
    key1: ["val1","val2","val3","val4"],
    key2: ["val2","val5","val22","val4","val8","val1"],
    key3: ["val1"],
    key4: ["val11","val12"]
}

是否可以使用ng repeat一次迭代所有值?

我的动机是:1。我在<代码>中使用ng-repeat

<tr>
    <td>key1.val1</td>
</tr>
<tr>
    <td>key1.val2</td>
</tr>
<tr>
    <td>key1.val3</td>
</tr>
<tr>
    <td>key1.val4</td>
</tr>
<tr>
    <td>key2.val2</td>
</tr>
<tr>
    <td>key2.val5</td>
</tr>
... and so on ...

有什么想法吗?

谢谢!

共有2个答案

长孙诚
2023-03-14
$scope.allValues = [];
angular.forEach(object, function(array) {
    array.forEach(function(value) {
        $scope.allValues.push(value);
    });
});

然后只需在< code>allValues上使用ng-repeat。

长孙作人
2023-03-14

由于您的键是对象的属性,我将在第一步将其转换为数组:

$scope.keys = [];
for (var property in object) {
    if (object.hasOwnProperty(property)) {
         $scope.keys.push(object.property);
    }
}

然后您可以使用嵌套的ng重复指令显示所有值:

<div ng-repeat="key in keys">
   <div ng-repeat="val in key[$index]">
      {{val}}

编辑:还有一种方法可以直接迭代对象属性

<div ng-repeat="(key, value) in myObj"> ... </div>

如本文所述:

 类似资料:
  • 我得到了一个数组,其对象类似于: 所以我用这种方式打印一个HTML表格: 是<code>queryCategory 我试过了: 和 但是没有结果。我怎样才能实现它? 正如批评者所建议的那样,当它有一个对象时,有这样一种选择: 但是,当它们是数组中的多个对象时,我该如何使用它呢?

  • 问题内容: 我想在由两个数组组成的数组上执行ng-repeat,如下所示: 我的数组(标题和链接)具有相同的长度,最后我想在ng-repeat中打印的内容是这样的: 例如,在C程序中,我必须这样做: 问题答案: 尚不清楚您如何拥有数据- 没有意义。 理想情况下,您可以将数据排列为如下所示的对象数组: 然后,您可以使用: 如果您 知道 标题和链接的大小始终相同,则可以这样做,但是它不是很漂亮,并且可

  • 问题内容: 我的控制器从服务器上抓人: 我的模板每行需要显示三个人。例如,如果它是一个表: 我不确定如何有条件地应用最佳实践的时间或最佳实践。我知道如何通过向控制器添加分组逻辑来做到这一点,但我认为最好将设计逻辑排除在控制器之外。 问题答案: 经过多年的经验积累,很显然,最好的方法是在控制器中将数组拆分为多个块。每次修改原始数组时,都要更新分块数组。

  • 我有一个名为的数组。它包含一系列对象,每个对象都包含一个名为的属性。我想在数组中的每个对象上重复该数组的内容。 如果我重复通过它在单个数组上运行良好。 但是,我想继续重复,就像这样: 等等。 我的(不正确)解决方案当前看起来如下: 在这种情况下,我假设$index将代表递增的整数,但它不起作用。有人能帮忙吗? 提前感谢...

  • 本文向大家介绍angular ng-repeat数组中的数组实例,包括了angular ng-repeat数组中的数组实例的使用技巧和注意事项,需要的朋友参考一下 //先定义一个数组 anular代码: html 代码: track by $index  在有重复值时需加上这段代码 不然浏览器会报这个错 Error: [ngRepeat:dupes]并且不会渲染到页面 以上这篇angular ng

  • 问题内容: 我如何获得Angular的指令以按每个项目的实际值而不是按每个项目的属性值对列表进行排序? 例如: 这是一个玩弄的小提琴:http : //jsbin.com/okatur/1/edit 我意识到我可以在阵列上做,但这是我唯一的选择吗? 问题答案: 从1.3.0-rc.5开始 从AngularJS 1.3.0-rc.5开始 ,如果未提供其他参数,则过滤器(请参阅文档)将使用其项目自动对