JSONレスポンスを反復したい場合は、キーと値が存在するかどうかを確認し、そうでない場合は配列に追加します。objが存在するかどうかチェックして配列にプッシュ
$scope.InitProdToArray = function (data) {
angular.forEach($scope.data.obj.Product, function(value, index) {
if (value.Product_type != 'T') {
$scope.data.obj.Product.push({Product_type: 'T'});
}
if (value.Product_type != '16364NB') {
$scope.data.obj.Product.push({Product_type: '16364NB'});
}
if (value.Product_type != '39087NB') {
$scope.data.obj.Product.push({Product_type: '39087NB'});
}
if (value.Product_type != 'C') {
$scope.data.obj.Product.push({Product_type: 'C'});
}
if (value.Product_type != '4NB') {
$scope.data.obj.Product.push({Product_type: '4NB'});
}
});
JSON: $scope.data.obj.Product =
[{
"Count": 28,
"Product_type": "T"
}, {
"Count": 88,
"Product_type": "4NB"
}, {
"Count": 20,
"Product_type": "C"
}, {
"Count": 3,
"Product_type": "39087NB"
}
]
これは、各ノードを反復するたびにキーと値のペアをプッシュしているため、これはうまくいかないようです。私は同じproduct_typeを持つJSONを取得してしまいます。
コードがすでに存在する場合、追加のキー、値を追加するのを止める方法はありますか?
はい、あなたは最初のキーは、オブジェクトの配列に存在するかどうかを確認することができます。 – choz
http://stackoverflow.com/questions/1098040/checking-if-a-key-exists-in-a-javascript-object確認方法 –