bra*_*r19 0 javascript arrays angularjs
假设我有这两个对象:
第一:
[
{
id: "123",
title: "123",
options: []
},
{
id: "456",
title: "456",
options: [
{
id: "0123",
title: "0123",
options: []
}
]
},
{
id: "789",
title: "789",
options: []
},
]
Run Code Online (Sandbox Code Playgroud)
第二个
[
{
id: "123",
title: "123",
options: []
},
{
id: "789",
title: "789",
options: []
},
]
Run Code Online (Sandbox Code Playgroud)
你可以在第二个数组中看到我错过了这个部分:
{id:"456",标题:"456",选项:[{id:"0123",标题:"0123",选项:[]}]}
如何在角度中迭代并找到缺失的元素是正确的和更好的?
你可以这样做
<div ng-app>
<div ng-controller="MyCtrl">{{availableGroups}}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
js代码
function MyCtrl ($scope) {
$scope.groups = [
{
id: "123",
title: "123",
options: []
},
{
id: "456",
title: "456",
options: [
{
id: "0123",
title: "0123",
options: []
}
]
},
{
id: "789",
title: "789",
options: []
},
];
$scope.assignedGroups = [
{
id: "123",
title: "123",
options: []
},
{
id: "789",
title: "789",
options: []
},
];
$scope.availableGroups = (function () {
var assignedGroupsIds = {};
var groupsIds = {};
var result = [];
$scope.assignedGroups.forEach(function (el, i) {
assignedGroupsIds[el.id] = $scope.assignedGroups[i];
});
$scope.groups.forEach(function (el, i) {
groupsIds[el.id] = $scope.groups[i];
});
for (var i in groupsIds) {
if (!assignedGroupsIds.hasOwnProperty(i)) {
result.push(groupsIds[i]);
}
}
return result;
}());
}
Run Code Online (Sandbox Code Playgroud)
这是工作jsFiddle
谢谢
| 归档时间: |
|
| 查看次数: |
474 次 |
| 最近记录: |