2016-09-01 112 views
0

我堅持用foreach循環,我不知道列名,所以我不能做 value.Job,我需要用它來顯示所有colums具體數據通用foreach循環和AngularJs

angular.forEach(data, function(value, key) { 
    console.log('the Object N° ' + i); 
    'maybe another loop for all the column 
    console.log('the column name is + ': ' + value ??); 
});  

的結果應該是這樣的:

the Object N° 1 
the column name is Name : Matt 
the column name is Job : Teacher 

the Object N° 2 
the column name is Name : Alice 
the column name is Job : Doctor 

這裏的任何想法!

我想看到JavaScript和AngularJs for each的選項。

+1

你能分享的樣本你的數據是如何構成的d? – EranSch

+0

什麼是「我」變種? – nolan

+0

列名存儲在哪裏? – Roysh

回答

5

是的,你可以使用一個for...in循環枚舉一個對象的所有鍵如下

var data = [ 
 
    {Name: "Matt", Job: "Teacher"}, 
 
    {Name: "Alice", Job: "Doctor"}]; 
 

 
data.forEach(function(e,i){ 
 
    console.log(i); 
 
    for(var key in e){ 
 
     console.log(key + ':' + e[key]); 
 
    } 
 
});

注意,香港專業教育學院使用Array.forEach,但angular.forEach將有很多相同的結構。

+0

你是最好的! ! – user1187282

+0

@ user1187282 awww,謝謝。 (順便說一句,我認爲'for ... in'也可以用'angular.forEach'完成 - 它支持迭代一個對象,就像我通過閱讀文檔發現的一樣) – Jamiec

-1

嘗試以下兩種選擇:通用JavaScript和AngularJs

//AngularJS for each 
 
var app = angular.module("app", []); 
 
var values = [{'name': 'Jimi', 'gender': 'male'},{'name': 'Peter', 'gender': 'male'},{'name': 'Bob', 'gender': 'male'}]; 
 
app.controller('forEachController', ['$scope', function ($scope) { 
 
     $scope.names = []; 
 
     //Angular for each 
 
     console.log("AngularJs Output"); 
 
     angular.forEach(values, function (value, key) { 
 
      angular.forEach(value, function (val, k) { 
 
       console.log(k + ":" + val); 
 
      }); 
 
     }); 
 
}]); 
 
console.log("JavaScript Output"); 
 
//Generic JavaScript for each 
 
values.forEach(function(item){ 
 
    Object.keys(item).forEach(function(key){ 
 
    console.log(key + ":" + item[key]); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="forEachController"></div>

+0

看起來問題是要求顯示每個對象的角度迭代數據,這就是爲什麼我使用Angular,請證明downvote? –

1

你也可以試試這個:

data.forEach(function(item){ 
     Object.keys(item).forEach(function(key){ 
      console.log(key + ":" + item[key]); 
     }); 
    });