以下是我的json结构:
$scope.dataList = [{
CompanyName: null,
Location: null,
Client: [{
ClientId: 0,
ClientName: null,
Projects:{
Id: 0,
Name: null,
}
}]
}];
我正在尝试remove client data by
specific clientid from list of clients
,但客户端数据未被删除,我没有收到任何错误。
代码:
for (var i = 0; i < $scope.dataList.length; i++)
{
for (var j = 0; j < $scope.dataList[i].Client.length; j++)
{
if ($scope.dataList[i].Client[j].ClientId == 101)
{
$scope.dataList[i].Client.splice(j, 1);
}
}
}
有人可以告诉我我的代码有什么问题吗?
答案 0 :(得分:1)
您可以使用delete语句。
for (var i = 0; i < $scope.dataList.length; i++)
{
for (var j = 0; j < $scope.dataList[i].Client.length; j++)
{
if ($scope.dataList[i].Client[j].ClientId == 101)
{
delete $scope.dataList[i].Client[j];
}
}
}
但是当你被删除时这会产生问题,因为在for循环中有一个项目删除所以项目数量减少。
所以你必须使用其他方式。
答案 1 :(得分:1)
这有效:
for (var i = 0; i < $scope.dataList.length; i++) {
for (var j = 0; j < $scope.dataList[i].Client.length; j++) {
var foundIndex;
if ($scope.dataList[i].Client[j].ClientId == 101){
foundIndex = j;
}
$scope.dataList[i].Client.splice(j, 1);
}
}