检查For循环中的每个值

时间:2016-06-15 11:13:41

标签: javascript for-loop

我已经为此找到了答案,但却没有找到一个很好的例子。

我有一个for循环:

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

我试图测试循环中的每个值,看它是否包含一组特定的字母。如果不是,则可以删除该值。我无法让这个工作。我已经搜索并找到了例子,但似乎没有人做我想做的事情。或者至少我发现没有&#34;工作&#34;例。我是javascript的新手。

因此,如果正常返回的循环中的值为:Jack User1,Jill User1和Jerry User2;我想要返回的值是&#34; User1&#34;

我无法让它工作:

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

1 个答案:

答案 0 :(得分: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
});

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

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

console.log(res);
&#13;
&#13;
&#13;