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()