Javascript 如何从数组中删除以“开始”的项;XXX“;

Javascript 如何从数组中删除以“开始”的项;XXX“;,javascript,Javascript,假设您拥有以下数组: var array = ["app_angrybirds", "app_flappybird", "ilovebirds"]; 如何删除任何以字符串“app.开头的数组元素?for(var i=0;i

假设您拥有以下数组:

var array = ["app_angrybirds", "app_flappybird", "ilovebirds"];
如何删除任何以字符串
“app.
开头的数组元素?

for(var i=0;i

您可以循环检查前4个字符(使用substr)并进行比较。如果它们匹配,则使用接头拆下元件。我们还使用了一个小技巧,使用i--使索引指向正确的位置。

对上述内容的解释:


for循环逐步遍历数组的每个元素。对于每个迭代,将索引与迭代变量匹配的元素的前四个字符与字符串“app\”进行比较。这里,数组方法substr(0,4)将字符从第0个元素隔离到第4个元素,但不包括第4个元素,并使子字符串可用于与“app_”进行比较。如果元素的子字符串与“app_”匹配的条件为真,则使用拼接()方法,根据传递给它的参数(在本例中为第I个元素)以手术方式从数组中删除元素。

这是我能想到的最简单的方法:

var数组=[“愤怒的小鸟”、“扑翼鸟”、“ilovebirds”];
var result=array.filter(doesNotHave(/^app\/);
警报(JSON.stringify(result));
函数不存在(正则表达式){
返回函数(str){
return!正则表达式测试(str);
}

}
听起来,使用regex循环是最直接的方法。到目前为止,您尝试了哪些代码?查看并了解/@JonathanLonowski
startsWith
是否适用于所有浏览器
for (var i = 0; i < array.length; i++) {
   if(array[i].substr(0, 4) === "app_") {
      array.splice(i, 1);
      i--;  //The index will be moved one forward at the end of the loop, but the whole array
            //will be shifted, so we compensate by decrementing i
   }
}