Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度合并嵌套数组_Angularjs - Fatal编程技术网

Angularjs 角度合并嵌套数组

Angularjs 角度合并嵌套数组,angularjs,Angularjs,我的数据集如下所示: [ { 'title' : 'cats', 'names' : [ 'felix', 'tom', ... more names ] }, { 'title' : 'dogs', 'names' : [ 'fido', 'rover', ... more names ] }, { ... More animal types ]

我的数据集如下所示:

[
  {
    'title' : 'cats',
    'names' : [
      'felix',
      'tom',
      ... more names
    ]
  },
  {
    'title' : 'dogs',
    'names' : [
      'fido',
      'rover',
      ... more names
    ]
  },
  {
    ... More animal types
]
我希望有以下几点:

<p ng-repeat='name in names'>{{ name }}</p>

我的问题是:是否有一种“角度”方式来合并数组或从一个对象的多个位置获取内容?或者我需要使用带有concat函数的for循环来创建我使用的数组吗?

它不太可能是javascript或angular中此类功能的核心函数,因为angular只是javascript上的mvc框架。您需要的函数对于javascript不够通用,对于mvc不够具体,当然,只是根据您的数据定义了名称

然后在您的视图中使用该方法

<p ng-repeat='name in names()'>{{ name }}</p>

您需要进行数据映射。您可以尝试在动物中使用
动物的外部“循环”和在动物中使用
名称的内部“循环”吗?我不确定这是否可行,或者是惯用的,所以我不会把它作为一个答案。
$scope.names = function() {
  return Array.prototype.concat.apply([], animals.map(function(animal) {
    return animal.names;
  }));
};
<p ng-repeat='name in names()'>{{ name }}</p>
$scope.names = _.chain(animals)
  .pluck('names')
  .flatten()
  .value()