javascript - 拼接功能不起作用

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

运行此程序时,我看到警报框BEFORE开始抑制 但不是结束抑制,就像 splice 函数导致代码崩溃一样。

编辑

这里是 datePos,它是一个带有像这样构建的对象的数组 我执行 ajax 请求来获取一些数据,然后将这些数据推送到选项卡内。所以这是一个有两个键的对象,pos 和 data

  $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 dateSplit = repSplit[1];
           var posTemp = posSplit.split(":")[1];
           var date = dateSplit.split(":")[1];
           var myPos = {
               pos: posTemp,
               dateMax: date
           };
           $scope.datePos.push(myPos);    

最佳答案

你必须拼接在你的作用域中定义的相同数组。而且你在拼接中使用小写字母。它应该是 kPos 。所以你必须像这样拼接。

$scope.datePos.splice(kPos,1);

关于javascript - 拼接功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45008774/

相关文章:

javascript - Uncaught Error : Unknown provider: $rootScopeProvider <- $rootScope

javascript - Express、csvtojson 和 node-walk 出现“结束后写入”错误

javascript - 如何使用客户端应用程序和 API 针对每个请求实现反 csrf token

javascript - 为什么这个 array.reduce 函数根本没有减少?初学者

arrays - perl丢弃映射操作中的第一个数组元素

javascript - Angular js .then 不是一个函数

javascript - 如何使用react-native在向下滚动时隐藏搜索栏以及向上滚动时显示它?

javascript - 带 Bootstrap 的 Angularjs 下拉菜单

javascript - 在全局匿名函数上或在 Controller 内部声明 "use strict"之间有区别吗?在 AngularJs 中

javascript - 在 Javascript 中使用 .splice() 删除数组中的值