Javascript 拼接功能是';行不通
这是我的问题。 我试图从数组中删除一个对象,但splice函数似乎崩溃了Javascript 拼接功能是';行不通,javascript,angularjs,splice,Javascript,Angularjs,Splice,这是我的问题。 我试图从数组中删除一个对象,但splice函数似乎崩溃了 $http({ method : "POST", url : "getDatesBasket", data: {"mission":pos_id}, async:false }).then(function successCallback(response) { var rep = response['data']; var repSplit = rep.split(",");
$http({
method : "POST",
url : "getDatesBasket",
data: {"mission":pos_id},
async:false
}).then(function successCallback(response) {
var rep = response['data'];
var repSplit = rep.split(",");
var posSplit = repSplit[0];
var posTemp = posSplit.split(":")[1];
for (kPos = 0; kPos < $scope.datePos.length; kPos++) {
alert("BEFORE " +$scope.datePos[kPos].dateMax);
if(posTemp==$scope.datePos[kPos].pos){
alert('start suppression');
datePos.splice(kpos,1);
alert('end suppression');
}
alert("AFTER " +$scope.datePos[kPos].dateMax);
}
您必须拼接作用域上定义的相同数组。而且您在拼接中使用小写字母。它应该是
kPos
。因此您必须这样拼接
$scope.datePos.splice(kPos,1);
您必须拼接作用域上定义的相同数组。而且您在拼接中使用小写字母。它应该是
kPos
。因此您必须这样拼接
$scope.datePos.splice(kPos,1);
实际上,您忘记使用$scope。 下面是更新的代码
for (kPos = 0; kPos < $scope.datePos.length; kPos++) {
alert("BEFORE " +$scope.datePos[kPos].dateMax);
if(posTemp==$scope.datePos[kPos].pos){
alert('start suppression');
$scope.datePos.splice(kpos,1);
alert('end suppression');
}
alert("AFTER " +$scope.datePos[kPos].dateMax);
}
for(kPos=0;kPos<$scope.datePos.length;kPos++){
警报(“在“+$scope.datePos[kPos].dateMax”之前);
if(posTemp==$scope.datePos[kPos].pos){
警报(“启动抑制”);
$scope.datePos.拼接(kpos,1);
警报(“结束抑制”);
}
警报(“在“+$scope.datePos[kPos].dateMax”之后);
}
实际上,您忘记使用$scope。
下面是更新的代码
for (kPos = 0; kPos < $scope.datePos.length; kPos++) {
alert("BEFORE " +$scope.datePos[kPos].dateMax);
if(posTemp==$scope.datePos[kPos].pos){
alert('start suppression');
$scope.datePos.splice(kpos,1);
alert('end suppression');
}
alert("AFTER " +$scope.datePos[kPos].dateMax);
}
for(kPos=0;kPos<$scope.datePos.length;kPos++){
警报(“在“+$scope.datePos[kPos].dateMax”之前);
if(posTemp==$scope.datePos[kPos].pos){
警报(“启动抑制”);
$scope.datePos.拼接(kpos,1);
警报(“结束抑制”);
}
警报(“在“+$scope.datePos[kPos].dateMax”之后);
}
像上面那样试试
如上所述尝试。如果您没有看到
开始抑制
警报,则您的如果
条件未评估为真
请检查控制台以查看任何错误。当您更改当前迭代的数组时,可能会出现什么问题?如果您没有看到开始抑制
如果条件的计算结果不是true
,请检查控制台以查看任何错误。当您更改当前迭代的数组时,可能会出现什么问题?事实上,我刚刚测试了它,但它仍然不起作用。什么是$scope.datePos?您可以发布该变量的代码吗?我在第一个post中添加了它当警报发生时,您是否需要输入范围值$scope.datePos[kPos].dateMax警报(“在“+$scope.datePos[kPos].dateMax”之前);您的posTemp没有在js中的作用域上定义,您正在视图中引用它?事实上,我刚刚测试了它,但它仍然不起作用。什么是$scope.datePos?您可以发布该变量的代码吗?我在第一个post中添加了它当警报发生时,您是否需要输入范围值$scope.datePos[kPos].dateMax警报(“在“+$scope.datePos[kPos].dateMax”之前);你的posTemp没有在js中的作用域上定义,你正在视图中引用它?事实上,我刚刚测试了它,它仍然不工作。事实上,我刚刚测试了它,它仍然不工作