Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拼接功能是';行不通_Javascript_Angularjs_Splice - Fatal编程技术网

Javascript 拼接功能是';行不通

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(",");

这是我的问题。 我试图从数组中删除一个对象,但splice函数似乎崩溃了

$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中的作用域上定义,你正在视图中引用它?事实上,我刚刚测试了它,它仍然不工作。事实上,我刚刚测试了它,它仍然不工作