$scope.data=[
{
"vpay": [
{
"count": 34
},
{
"count": 21
},
{
"count": 12
}
]
},
{
"mastercard": [
{
"count": 0
},
{
"count": 89
},
{
"count": 9
}
]
}
];
我怎样才能只检索每个vpay&的第一个条目万事达卡即计数= 34& count = 0&以类似的方式第二&第三次以有效的方式进入?
答案 0 :(得分:1)
您可以迭代数组和键,并在同一索引上添加值。
var $scope = { data: [{ vpay: [{ count: 34 }, { count: 21 }, { count: 12 }] }, { mastercard: [{ count: 0 }, { count: 89 }, { count: 9 }] }] },
result = $scope.data.reduce(function (r, o) {
Object.keys(o).forEach(function (k) {
o[k].forEach(function (p, i) {
r[i] = r[i] || {};
Object.keys(p).forEach(function (l) {
r[i][l] = (r[i][l] || 0) + p[l];
});
});
});
return r;
}, []);
console.log(result);
答案 1 :(得分:0)
var results = [];
for(var i = 0; i < $scope.data.length; i++){
for(key in data[i]){
results.push(data[i][key][0]);
}
}
答案 2 :(得分:0)
var firstElements = $scope.data.reduce(function(res, o) {
return res.concat(Object.keys(o).map(function(k) {
return o[k][0];
}));
}, []);
或使用箭头功能:
var firstElements = $scope.data.reduce((res, o) => res.concat(Object.keys(o).map(k => o[k][0])), []);
工作片段
var $scope = {};
$scope.data = [{"vpay":[{"count":34},{"count":21},{"count":12}]},{"mastercard":[{"count":0},{"count":89},{"count":9}]}];
var firstElements = $scope.data.reduce((res, o) => res.concat(Object.keys(o).map(k => o[k][0])), []);
console.log(firstElements);
&#13;
答案 3 :(得分:0)
您可以通过两种方法完成此操作
方法1:以下内容:
Object.keys(data)[0];
和方法2:以下内容:
for (o in obj) { ... }
希望它能帮到你:)。