Javascript 角度检查范围(数组)中是否已存在项
我正在尝试在添加之前检查数组中是否已经存在某些内容,这样我就不能多次添加同一类型。我正在对照存储所有内容的数组检查所选下拉列表的模型(模型将id存储为id,数组存储为skillId,这有点不同) 基本上,我只是尝试查看数组,看看id是否匹配,以及它是否没有将该项添加到数组中。这是代码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
$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
它应该是===
或=
而不是=
它是一个拼写错误。如果你找到匹配项,只需暂停一下就可以停止循环。为拼写错误标记结尾!!天哪,我不敢相信,哈哈!谢谢。