我正在尝试根据var query = "SELECT NVL(MAX(" + column + ") + 1, 1) AS " + column + " FROM " + table + " WHERE " + sequenceIdField + " = '" + sequenceId + "'";
,string1
,string1,string2
等形式的输入来过滤JSON文件中的数组中的某些数据,即一些字符串以string1,string2,string3
分隔。
我要做什么:
,
如果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
案例1:
说(在["abcqwer", "pizza", "definition", "abcdef", "example"]
元素中输入的输入是<input>
。
为此,abc,def
应该为arrOutput
案例2:
假设输入的是["abcqwer", "definition", "abcdef"]
预期输出:abc
答案 0 :(得分:1)
简单的方法是使用一些和过滤器,
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);
答案 1 :(得分:1)
您需要迭代两个数组
let arrToFilter = ['abcqwer', 'pizza', 'definition', 'abcdef', 'example'];
let arrOutput = [];
let arrInput = document.getElementById('inputBox').value.split(',');
arrToFilter.forEach(filter => {
arrInput.forEach(input => {
if (!!input && filter.includes(input)) {
arrOutput.push(filter);
}
});
});
// distinct the output
return arrOutput.filter((v, i, a) => i === a.indexOf(v));