角度检查项目是否已存在于范围(数组)中

时间:2014-10-10 20:50:52

标签: javascript arrays angularjs

我试图在添加之前检查数组中是否有某些东西 - 这样我就不能多次添加相同的类型了。我正在检查我正在选择的下拉模型我正在存储所有内容的数组(稍有不同之处在于模型将id存储为id,数组存储为skillId)。

我基本上只是试图查看数组并查看id是否匹配 - 如果它没有将项添加到数组中。这是代码。

$scope.saveSkill = function() {
    //send skill to get path, then add to skills array
    console.log($scope.pathArray);
    console.log($scope.scope5.id);
    var skillCheck = true;
    //check if exists aready
    for(i=0;i<$scope.pathArray.length;i++){

        if($scope.pathArray[i].skillId = $scope.scope5.id ){
            console.log("Cannot add same skill more than once");
            skillCheck = false;

        }
    }

     if(skillCheck){
    $http({
            method: 'GET',
            url: '/findPathScopeToSkill/' + $scope.scope5.id + "/1"
        })
        .success(function(data){
            angular.forEach(data.paths, function(index) {
            $scope.pathArray.push(index);
        });

        });
    }
};

就像快速参考一样--pathArray是项目被推入的地方,也是我不希望有双打的地方 - 所以我正在检查当前id与数组内部的id(唯一不同的是它们是.skillId的)< / p>

我可以添加一个,然后再也不能添加同一个但是我之后也无法添加任何一个。似乎无法弄清楚我在这里做错了什么。任何帮助将不胜感激。谢谢!

0 个答案:

没有答案