2016-09-01 18 views
0

私は value.Jobを行うことはできませんので、私は列の名前を知らない、foreachループでこだわっている、と私はそれを具体的なデータジェネリックforeachのJavaScriptでループとAngularJs

をすべてcolumsを表示する必要がありますここ

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 

任意のアイデア:

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 ??); 
});  

結果は次のようにする必要があります!

JavaScriptとAngularJs forEachの両方のオプションが必要です。 IVEはArray.forEachを使用しますが、angular.forEachはほぼ同じ構造を持っています

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]); 
 
    } 
 
});

注意を次のように

+1

は、あなたがのサンプルを共有することができますあなたのデータの構造d? – EranSch

+0

'i' varとは何ですか? – nolan

+0

カラム名はどこに保存されていますか? – Roysh

答えて

5

はい、あなたは、オブジェクト内のすべてのキーを列挙するfor...inループを使用することができます。

+0

あなたは最高です! ! – user1187282

+0

@ user1187282 awww、ありがとう。 (BTW、私は 'for ... in'は' angular.forEach'でも行うことができると思います - ドキュメントを読むことによって発見されたように、オブジェクトの反復もサポートします) – Jamiec

-1

てみ次の2つのオプション:ジェネリック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]); 
     }); 
    });