我正在尝试根据格式string1
,string1,string2
,string1,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);