我正在尝试根据格式string1string1,string2string1,string2,string3等的输入来过滤JSON文件中的数组中的某些数据,即由,分隔的一些字符串。

我正在尝试做的是:

let arrInput = document.getElementById('inputBox').val.split(',');

for(let i = 0; i < arrToFilter.length; i++){
    if(.........what to write here?...........){
        arrOutput.push(arrToFilter[i]);
    }
}

return arrOutput;


如果arrInput具有固定的长度,则可以对indexOf != -1中的每个元素使用arrInput来完成此操作,但是在这里,由于arrInput的长度是可变的,因此如何检查至少一个字符串? arrInput中存在的内容也作为arrToFIlter[i]中的子字符串存在吗?

编辑:

例:

arrToFilter["abcqwer", "pizza", "definition", "abcdef", "example"]

情况1 :

假设输入的输入(在<input>元素中)为abc,def

为此,arrOutput应该是["abcqwer", "definition", "abcdef"]

情况2:

假设输入的是abc

预期输出:["abcqwer", "abcdef"]

最佳答案

简单的方法是使用一些和过滤器,



var string = 'ad,kk,sb';
var array = ['adik', 'klop', 'pp'];

var stringers = string.split(',');
var result = array.filter((arr) => {
    var isPresent = stringers.some(stringer => arr.includes(stringer));
    return isPresent ? true : false;
});

console.log(result);

10-07 19:34
查看更多