【发布时间】:2020-10-30 20:28:47
【问题描述】:
我有两个 JSON 数组,$scope.pl 和 $scope.activepage,其中包含值,
$scope.pl = [{
pageid: 1,
page: "regions",
menudId: 2
},
{
pageid: 2,
page: "countries",
menudId: 2
},
{
pageid: 3,
page: "location",
menudId: 2
},
{
pageid: 4,
page: "street",
menudId: 2
},
{
pageid: 5,
page: "door",
menudId: 2
}
]
$scope.removepl = [{
pageid: 1,
page: "regions",
menuId: 2
},
{
pageid: 1,
page: "countries",
menuId: 2
}
]
现在我必须删除 $scope.removepl 的值
这是$scope.pl
for (var i = 0; i <= $scope.removepl.length; i++) {
$scope.pagelists = _.filter($scope.pl, function(res) {
return res.pageid !== $scope.removepl[i].pageid;
});
$scope.pl = $scope.pagelists;
}
现在它可以正常工作了,但我在控制台中遇到错误,例如
无法读取未定义的属性“pageid”
这可能是由 $scope.removepl[i].pageid 我在 for 循环中用于迭代造成的吗?
有人有解决办法吗?
【问题讨论】:
-
没有pageid,而是id
-
正如@HarmandeepSinghKalsi 所说,您需要将 .pageid 更改为 .id。您还需要更改
i < $scope.removepl.length的for比较,因为您的代码将访问不存在的内存位置 -
@Jon 你有什么解决方案吗,你能不能再次检查我的问题,我现在正确地做出了改变
标签: javascript arrays angularjs multidimensional-array