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

Javascript 角度检查范围(数组)中是否已存在项,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我正在尝试在添加之前检查数组中是否已经存在某些内容,这样我就不能多次添加同一类型。我正在对照存储所有内容的数组检查所选下拉列表的模型(模型将id存储为id,数组存储为skillId,这有点不同) 基本上,我只是尝试查看数组,看看id是否匹配,以及它是否没有将该项添加到数组中。这是代码 $scope.saveSkill = function() { //send skill to get path, then add to skills array console.log($sco

我正在尝试在添加之前检查数组中是否已经存在某些内容,这样我就不能多次添加同一类型。我正在对照存储所有内容的数组检查所选下拉列表的模型(模型将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);
        });

        });
    }
};
$scope.saveSkill=function(){
//发送技能以获取路径,然后添加到技能数组
log($scope.pathArray);
log($scope.scope5.id);
var skillCheck=true;
//检查区域是否存在

对于(i=0;i
$scope.pathArray[i].skillId===$scope.scope5.id
它应该是
===
=
而不是
=
它是一个拼写错误。如果你找到匹配项,只需暂停一下就可以停止循环。为拼写错误标记结尾!!天哪,我不敢相信,哈哈!谢谢。