JavaScript, как проверить, является ли часть строки одной строкой в ​​массиве

Я только что установил разработчика SQL SERVER 2012. Когда я создавал свой первый пакет SSIS, я получил эту ошибку в трубке, когда пытался создать задачу подключения к данным в инструментах данных SQL Server 2012 в окне диспетчера подключений. Я решил с помощью поста выше.

Если вы выберите именованный экземпляр, и вы вызываете свой именованный экземпляр SSQDatabase1, а имя вашего компьютера - PCX1. Вы должны ввести PCX1 \ SSQDatabase1, а не только SSQDatabase1, или вы получите именованную ошибку pipe.

-1
задан ShadowCode 25 February 2019 в 16:56
поделиться

4 ответа

использовать Array.some и для каждой записи проверять, содержит ли строка фильтр:

const data = {
  "filter" : [
      "ABDC",
      "ADBAC"
  ]
}

var string1 = "ABCD";
var string2 = "ABDC sample";
var string3 = "ADBACABDC";

const check = (arr, string) => {
  return arr.some(e => string.includes(e));
}

console.log(check(data.filter, string1));
console.log(check(data.filter, string2));
console.log(check(data.filter, string3));

0
ответ дан Taki 25 February 2019 в 16:56
поделиться

Будет что-то вроде этого

function checkString(stringsArray, stringToCheck) {
   return !!stringsArray.find((str) => stringToCheck.indexOf(str) > -1);
}

Тогда вам нужно будет вызвать эту функцию с вашим фильтром и каждой из ваших строк, которые вы хотите проверить:

const filter = [
        "ABDC",
        "ADBAC"
    ];

var string1 = "ABCD";
var string2 = "ABDC sample";
var string3 = "ADBACABDC";

checkString(filter, string1);
checkString(filter, string2);
checkString(filter, string3);
0
ответ дан Oleksandr Fedotov 25 February 2019 в 16:56
поделиться

Попробуйте:

var obj = { "filter" : [ "ABDC", "ADBAC" ]  } ;

function test(str) {
  for ( var i = 0; i < obj["filter"].length; i++ ) {
    patt = new RegExp(obj["filter"][i]) ;
    if ( patt.test(str) ) break;
  }
  console.log(str + " ==> " + patt.test(str) )
}

test( "ABCD" ) ;
test( "ABDC sample" ) ;
test( "ADBACABDC" ) ;

0
ответ дан Ehsan 25 February 2019 в 16:56
поделиться

Вы можете использовать некоторые и RegExp

let filter =["ABDC","ADBAC"]

var string1 = "ABCD";
var string2 = "ABDC sample";
var string3 = "ADBACABDC";

let match = (input) =>filter.some(e=>{
    let regEx = new RegExp(e, 'g')
    return regEx.test(input)
})

console.log(match(string1))
console.log(match(string2))
console.log(match(string3))
[119 ]

0
ответ дан Code Maniac 25 February 2019 в 16:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: