forEach循环到一个级别并在角度js

时间:2016-04-04 07:29:18

标签: angularjs umbraco

我在响应中有一个包含4个对象的数组,如:

enter image description here

在每个对象中,我有一个包含8个对象的属性数组

enter image description here

我试图将object的每个属性值赋给具有相同结构的其他对象的属性值。

enter image description here

我直接分配这种方式,现在正在工作。

 $scope.details.tabs = response.data.tabs;

我们可以使用AngularJS forEach循环并将属性值分配给具有相同结构的其他对象。我是AngularJS的新手,有人可以帮助达到对象属性值吗?

1 个答案:

答案 0 :(得分:1)

以下是您需要做的示例(注意:这是一个简单的Javascript解决方案):

var itemArray = response.data.tabs;
var newArray = [];
var newArraySize = 0;
for (var i = 0; i < itemArray.length; i++) {
    for (var j = 0; j < itemArray[i].properties.length; j++) {
        newArray[newArraySize] = itemArray[i].properties[j];
        newArraySize ++;
    }
}

这样您将拥有包含所有属性对象的newArray。如果您只需要值(作为字符串),您需要做的就是使用.运算符深入挖掘一个级别,如下所示:

newArray[newArraySize] = itemArray[i].properties[j].value;

提示:我将reponse.data.tabs数组分配给另一个数组itemArray只是为了缩短名称并加快输入速度。如果需要,您可以考虑删除此步骤。

我确信还有其他解决方案,但这是我到目前为止所想到的。希望它适合你:)