Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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 angularjs移除特定于数组的元素dosen';行不通_Javascript_Angularjs - Fatal编程技术网

Javascript angularjs移除特定于数组的元素dosen';行不通

Javascript angularjs移除特定于数组的元素dosen';行不通,javascript,angularjs,Javascript,Angularjs,如果我将两个元素推入另一个数组,然后尝试删除第一个元素(单击第一个按钮),则第二个元素将被删除。为什么 这是因为indexof不用于查找对象并始终返回-1索引,这反过来会删除创建自己的indexof所需的第一个元素 var index = myIndexOf($scope.data2,$scope.found); function myIndexOf(arr,o) { for (var i = 0; i < arr.length; i++) { if

如果我将两个元素推入另一个
数组
,然后尝试删除第一个元素(单击第一个按钮),则第二个元素将被删除。为什么


这是因为indexof不用于查找对象并始终返回-1索引,这反过来会删除创建自己的indexof所需的第一个元素

var index = myIndexOf($scope.data2,$scope.found);


function myIndexOf(arr,o) {    
    for (var i = 0; i < arr.length; i++) {
        if (arr[i].x == o.x && arr[i].y == o.y) {
            return i;
        }
    }
    return -1;
}
var index=myIndexOf($scope.data2,$scope.found);
函数myIndexOf(arr,o){
对于(变量i=0;i

indexOf适用于数组,而不是对象。它返回-1,因此始终使用最后一个元素

试试这个:

    $scope.removeFromList = function (p) {

        var index = $scope.data2.map(function(e) { return e.ID;}).indexOf(p.ID);

         if(index >= 0)
                $scope.data2.splice(index, 1);
   }

我没有随意点击一个bit.ly链接。请在此处发布代码。indexOf适用于数组而不是对象
    $scope.removeFromList = function (p) {

        var index = $scope.data2.map(function(e) { return e.ID;}).indexOf(p.ID);

         if(index >= 0)
                $scope.data2.splice(index, 1);
   }