2016-06-15 14 views
-1

私はこれに対する答えを探しましたが、これをうまくカバーするものは見つかりませんでした。Forループの各値をチェックする

私は、forループを持っている:

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

私はそれが文字の特定のセットが含まれているかどうかを確認するために、ループ内の各値をテストしようとしています。そうでない場合は、その値を削除することができます。私はこれを働かせることはできません。私は検索し、例を見つけましたが、私がやろうとしていることはありません。少なくとも私は「実用的な」例は見つけられていない。私はJavaScriptに新しいです。

ループ内の値が正常に返された場合は、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 
}); 

ES6

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

関連する問題