我想在javascript中使用像sql这样的子句。无法找到一个字符串是否包含子字符串?
据我所知,类似的问题已经存在互联网上,但下面的方法是不是为我工作:
$(document).ready(function() {
var listAll = [
"X1",
"ANTENNA SYSTEMS 00000000AS",
"Security & Wrokf 00000000CS",
"MICROWAVE & COMM 00000000MC",
"MICROWAVE SENSOR 00000000MT",
"PLANNING & PROJE 00000000PG",
"MECHANICAL SYSTE 00000000MS",
"ELECTRO-OPTICAL 00000000EO",
"SATCOM EXPERIMEN 00000000SE",
"QUALITY ASSURANC 00000000QA",
"QUALITY ASSURANC 00000000QC",
"DATA PRODUCTS SO 00000000DP"
];
var lstfiltered = ["X2"];
for (i = 0; i <= listAll.length - 1; i++) {
console.log(listAll[i]);
var string = listAll[i];
var substring = "lan";
if (string.indexOf(substring) !== -1) {
lstfiltered.push(string);
}
}
console.log(lstfiltered);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
我已经设置子是在字符串中查找作为“lan”,应该将“PLANNING & PROJE 00000000PG”插入数组中。但事实并非如此。
区分大小写?尝试在比较之前先改为小写? – guradio
@guradio [是的](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf#Case-sensitivity)。 –
'toLowerCase()'使它不区分大小写,或者你可以使用'localeCompare()'来比较字符串 –