JS使用slice()或者delete()循环删除数组元素时,数组length减小,角标变动问题。

JS使用slice()或者delete()循环删除数组元素时,数组length减小,角标变动问题。
解决办法案例
let flag = 0;//计数器
for (let i = 0; i < selectRowDataList.length; i++) {

if(undefined != existList && null != existList) {
let id = selectRowDataList[i].id;
for (let j = 0; j < existList.length; j++) {
let eId = existList[j].id;
if(id == eId){
resultList.splice(i-flag, 1) //
flag++;
}
}
} else {
if (!$scope.data.directList || $scope.data.directList.length == 0) {
$scope.data.directList = [];
}
$scope.data.directList.push(selectRowDataList[i]);
}
}