2016-08-25 4 views
0
$scope.ptArray={m1 : $scope.somevalue1, 
       m2 : $scope.somevalue2, 
       m3 : $scope.somevalue3}; 
$scope.errMsg={m1 : 'msg1', 
       m2 : 'msg2', 
       m3 : 'msg3'}; 
if($scope.ptArray.this==""){ 
      alert($scope.errMsg.this); 
      } 

'여기'는 작동하지 않습니다. 'this'대신 m1, m2 또는 m3을 사용하면 해당 변수에 대해서만 작동합니다. ...이Array index in AngularJS

+0

당신은 무엇을 기대 해볼까요 "이"가 될? 그것은 마법이 아닙니다. – Soviut

+0

나는 단지 내가 원했던 것을 말하려고 노력했다. –

답변

2

당신이 뭔가를 할 수 있습니다

값으로 빈 String이 모든 키 가져 오기 :

var empty = []; 
Object.keys($scope.ptArray).forEach((k) => {if(ptArray[k] == ""){empty.push(k);}}); 

는 모든 키에 대한 메시지와 경고를 만듭니다

var msg = ""; 
empty.forEach((k) => {msg+=$scope.errMsg[k]+"\n"}); 
if(msg.length > 0){ 
    alert(msg); 
} 

또는 모두 한 번에 단일 루프에서 수행하십시오.

var msg = "": 
Object.keys($scope.ptArray).forEach((k) => 
     { 
     if(ptArray[k] == ""){ 
      msg += $scope.errMsg[k]+"\n"; 
     } 
     }); 
if(msg.length > 0){ 
    alert(msg); 
} 
0

당신이 사용할 수있는 DICT에 액세스하려면 장소에 str'm1', 'm2' 또는 'm3'있는 문자열입니다

if($scope.ptArray[str]==""){ 
    alert($scope.errMsg[str]); 
} 

무엇을 사용합니다. 그러나 더 좋은 옵션이 될 수있는 배열을 사용하여 인덱스가 정수 값입니다

if($scope.ptArray[index]==""){ 
    alert($scope.errMsg[index]); 
} 

.

this으로 무엇을하고 싶은지 잘 모르겠습니다.

+0

$ scope.errMsg [index] returns [object Object]가 작동하지 않는다. –

0

이이

$scope.ptArray={m1 : $scope.somevalue1, 
      m2 : $scope.somevalue2, 
      m3 : $scope.somevalue3}; 
$scope.errMsg={m1 : 'msg1', 
      m2 : 'msg2', 
      m3 : 'msg3'}; 

Object.keys($scope.ptArray).forEach(function(node){ 
      if($scope.ptArray[node]==""){ 
       console.log($scope.errMsg[node]); 
      } 
    });