Ответ 1
var string = '[United States][Canada][India]';
var search = 'Canada';
if (string.indexOf('[' + search + ']') !== -1) {
// Whatever
}
У меня строка, подобная так (это не массив, это прямая строка)
string = "[Соединенные Штаты] [Канада] [Индия]";
Я хочу сделать что-то вроде ниже.
if( string contains "Canada" ) {
//Do Canada stuff here
}
Спасибо за любые советы
var string = '[United States][Canada][India]';
var search = 'Canada';
if (string.indexOf('[' + search + ']') !== -1) {
// Whatever
}
Просто расширьте методы String... в качестве бонуса я добавил нечувствительность к регистру
// Only line you really need
String.prototype.has = function(text) { return this.toLowerCase().indexOf("[" + text.toLowerCase() + "]") != -1; };
// As per your example
var Countries = " [United States] [Canada] [India] ";
// Check Spain
if (Countries.has("Spain")) {
alert("We got Paella!");
}
// Check Canada
if (Countries.has("Canada")) {
alert("We got canadian girls!");
}
// Check Malformed Canada
if (Countries.has("cAnAdA")) {
alert("We got insensitive cAnAdiAn girls!");
}
// This Check should be false, as it only matches part of a country
if (Countries.has("Ana")) {
alert("We got Ana, bad, bad!");
}