我已经为此找到了答案,但却没有找到一个很好的例子。
我有一个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} }
答案 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
});
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;