2016-12-01 141 views
2

所以我有對象,有很多屬性,我需要從該對象獲取所有值和屬性名稱,我不知道什麼是最好的和最簡單的方法來做到這一點。我已經嘗試過一些方法,但沒有任何運氣與它如何從數組中獲取屬性名稱和值

angular.forEach(array, function(value, key){ 
    console.log(value); 
}); 
+2

重複這個問題的http://stackoverflow.com/questions/30147983/separate -keys-and-values-from-object – rrd

+0

這種方法有什麼問題?你有鑰匙和價值 – taguenizy

回答

2

的forEach可與陣列,爲對象的屬性,你需要:

for (var property in object) { 
    if (object.hasOwnProperty(property)) { 
     console.log(property, ' ', object[property]); 
    } 
} 
+1

你打敗了我,這是正確的路。 –

+0

謝謝你這個作品不錯。 –

1

您可以用兩個的foreach achive在角像下面

<!DOCTYPE html> 
 
<html ng-app="plunker"> 
 

 
    <head> 
 
    <meta charset="utf-8" /> 
 
    <title>AngularJS Plunker</title> 
 
    <script>document.write('<base href="' + document.location + '" />');</script> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script data-require="[email protected]" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script> 
 
    <script src="app.js"></script> 
 
    </head> 
 

 
    <body ng-controller="MainCtrl"> 
 
    
 
    </body> 
 
<script> 
 
    var app = angular.module('plunker', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.name =[ 
 
    { 
 
    "Name": "myname", 
 
    "Password": "mypasscode" 
 
    }, 
 
    { 
 
    "Name": "yourname", 
 
    "Password": "yourcasscode" 
 
    } 
 
]; 
 
angular.forEach($scope.name, function(k , v) { 
 
     angular.forEach(k, function(x , y) { 
 
      alert(y+"--"+x); 
 
     }) 
 
    }) 
 
}); 
 
</script> 
 
</html>

+0

謝謝你的回答,已經從Luis Sieira的回答中得到了解決方案。 –

+0

我只想以純粹的角度展示.... :-) –

4

您可以在也使用Object.keys(),它返回對象的鍵的數組。例如:

var obj = { 0 : "a", 1 : "b", 2 : "c"}; 
console.log(Object.keys(obj)); // [0, 1, 2] 

您還可以使用它返回一個對象的值的數組的Object.values()

var obj = { 0 : "a", 1 : "b", 2 : "c"}; 
console.log(Object.keys(obj)); // ['a', 'b', 'c']