从不包含"IN"的字符串数组中删除所有元素

MrG*_*uru 1 javascript arrays jquery

我需要删除数组中不包含"IN"的所有元素,就像那样.

我怎么想这样做是用for循环遍历数组并将包含IN的所有值写入另一个数组.

有没有办法可以在不写入新数组的情况下执行此操作,只删除那些与当前数组不匹配的项目?

以下是我计划如何做的代码:

arrTwo = [];

for(var i = 0; i<arr.length; i++){
    if(arr[i].indexOf('IN') > -1) arrTwo.push[arr[i]];
}
Run Code Online (Sandbox Code Playgroud)

Ori*_*iol 10

您可以使用ES5 filter方法:

arr = arr.filter(function(s){
    return ~s.indexOf("IN");
});
Run Code Online (Sandbox Code Playgroud)

使用ES6 箭头功能,它可以简化为:

arr = arr.filter(s=>~s.indexOf("IN"));
Run Code Online (Sandbox Code Playgroud)