2016-06-15 5 views
-1

나는 이에 대한 해답을 찾았으나 좋은 예제로 이것을 잘 설명하지 못했습니다. For 루프의 각 값 확인

나는 for 루프를 가지고 : 나는 그것이 문자의 특정 세트가 포함되어 있는지 확인하기 위해 루프에서 각 값을 테스트하기 위해 노력하고있어

for (var i=0;i<userProfileProperties.length;i++) { 
    if (userProfileProperties[i].indexOf("ValueImSearchingFor") { 
    console.log("GOTIT"); 
    } 
    } 

. 그렇지 않으면 해당 값을 삭제할 수 있습니다. 나는 이것을 작동시킬 수 없다. 나는 수색을하고 예제를 찾았지만 아무 것도 보이지 않는다. 또는 적어도 나는 "일하는"예를 발견하지 못했습니다. 나는 자바 스크립트가 처음이다.

그래서 루프의 값이 정상적으로 반환되면 Jack User1, Jill User1 및 Jerry User2가됩니다. 내가 반환하려는 값이 모두 "사용자 1"입니다

나는이가 동작하지 않습니다 아래로 배열 할 수

while(userEnumerator.moveNext()){ 
var oUser = userEnumerator.get_current();  
if(oUser.val.indexOf('ValueImsearchingFor') > -1) 
{ ... do this} } 

답변

1

사용 Array.prototype.filter() 방법 :

ES5

var res = userProfileProperties.filter(function (val) { 
    return val.indexOf("ValueImSearchingFor") > -1 
}); 

,
let res = userProfileProperties.filter((val) => { 
    return val.indexOf("ValueImSearchingFor") > -1 
}); 

let userProfileProperties = [ 
 
    'ValueImSearchingFor 1', 
 
    'ValueImSearchingFor 2', 
 
    'test', 
 
    'ValueImSearchingFor 3', 
 
    'test 1' 
 
    ]; 
 

 
let res = userProfileProperties.filter((val) => { 
 
     return val.indexOf("ValueImSearchingFor") > -1 
 
    }); 
 

 
console.log(res);

+0

는 그 "userProfileProperties [I] .filter"있을까? – JackSki

+0

아니요'.filter' 메서드는 배열에서 호출됩니다. 'userProfileProperties [i]'는 인덱스'i'의 값을 줄 것입니다. 게시물에서 업데이트 한 작업 예제를 참조하십시오. –

+0

감사합니다. Aditya, 작동하지 못합니다 "while (userEnumerator.moveNext()) {var oUser = userEnumerator.get_current(); if (oUser.val.indexOf ('ValueImsearchingFor')> -1) {... 할 일}} – JackSki