Я пытаюсь иметь такой же, как эффект в sql как sql в javascript.Не удается найти строку, содержащую подстроку?
Я знаю, что подобный вопрос уже присутствуют в Интернете, но следующий подход не работает для меня:
$(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», который должен нажать «ПЛАНИРОВАНИЕ & PROJE 00000000PG« в массив. Но это не так.
чувствительный к регистру «перейдите в нижний регистр сначала, прежде чем сравнивать? – guradio
@ guradio [Yep] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf#Case-чувствительность). –
'toLowerCase()', чтобы сделать его регистрозависимым, или вы можете использовать 'localeCompare()' для сравнения строки –