ANgular js:过滤唯一值和新的json
ANgular js : Filter unique values and new json
我有一个json列表,我需要它的唯一值
[
{
"equipmentType": "5 MEG DOCSIS",
"status": "On Truck ",
"count": 2
},
{
"equipmentType": "5 MEG DOCSIS",
"status": "Return Faulty",
"count": 3
} ]
我需要这样的独特设备type:
[
{
"equipmentType": "5 MEG DOCSIS",
"On_TruckCount": 2,
"Return_Faulty": 3
}
]
帮我找出那个问题的解决方法提前感谢……编辑
我正在尝试,但它是错误的,这里的obj是json obj.
$scope.equipmentDashboard = obj;
$scope.oldEquip="";
$scope.listtest='';
$scope.test = [];
angular.forEach(obj, function(value, key) {
if(value.equipmentType == $scope.oldEquip.equipmentType){
if(value.status=="On Truck ")
$scope.listtest.onTruck = value.count;
else
$scope.listtest.returnFaulty = value.count;
} else {
$scope.test.push($scope.listtest);
$scope.oldEquip = value;
}
});
对于这样的东西,我会使用原生javascript创建一个临时对象,使用equipmentType
值作为属性键,因为这是数组中对象之间的共同之处。
因为这是所有的预处理,我们不需要担心角作用域,直到最后。理想情况下,您应该在服务中执行此映射,并让服务返回结果
var tmp = {}
data.forEach(function (row) {
if (!tmp[row.equipmentType]) {
tmp[row.equipmentType] = {
equpmentType: row.equipmentType
};
}
if (!tmp[row.equipmentType][row.status] ) {
tmp[row.equipmentType][row.status] = 0;
}
tmp[row.equipmentType][row.status] += row.count;
});
Temp对象将产生:
{
"5 MEG DOCSIS": {
"equpmentType": "5 MEG DOCSIS",
"On Truck ": 2,
"Return Faulty": 3
}
}
然后遍历temp对象,将每个子对象压入将用于$scope
的数组中。var out = [];
for (var key in tmp) {
if (tmp.hasOwnProperty(key)) {
out.push(tmp[key]);
}
}
$scope.equipmentList = out;
演示相关文章:
- 如何使 JSON 数组唯一
- 如何通过 php 中的唯一 ID 删除 Json
- 将一些 JSON 数据移动到唯一的 Div 中
- 使用1个HTML表单:要求用户提供唯一标识符,从数据库中获取记录,解析为JSON,使用jquery填充插件填充HTML页
- 计算JSON数组中的唯一元素,同时考虑两个不同的键-Javascript
- 使用jquery获取json数据的唯一值
- 从JSON API响应中获取属性的唯一值的计数
- 如何合并两个只有唯一或不同值的复杂JSON对象,这些值只显示在结果数组中
- “筛选”JSON以获取唯一键并获取所有相关值
- AngularJS:使用多级 JSON 进行过滤和唯一
- Jquery:迭代使用唯一键名的嵌套JSON
- 用唯一的键/值过滤JSON
- 唯一JSON值的数组
- 如何使用node js与mongoose创建一个唯一的json元素列表
- 俱乐部JSON对象的唯一键在javascript中
- ANgular js:过滤唯一值和新的json
- 使用jQuery从JSON数组中获得唯一的结果
- 如何获取json的唯一值,并对数组中的另一个值求和
- 如何使用具有唯一密钥的JSON
- 如何计算JSON数据中唯一键值对的数量?