Нужно чтобы функция возвращала false
если в password
найдено одно из значений linesArray
, чтобы цикл проверял каждое значение массива, но почему что не работает, не пойму почему.
var linesArray = ["abcd","efg", "hrh"];
var password = "213efg123"
var resultat = true;
var testValidity = function(){
for (i = 0;resultat = true; i++) {
let arr = linesArray[i];
let str = password;
let test = str.indexOf(arr.toString());
if (test > -1) {
resultat = false
}
return resultat;
}
};
Ещё один фидл
var LinesArray = ["abcd","efg", "hrh"],
password = "213efg123",
testValidity = function(){
var resultat = true;
for (var i = 0; i < LinesArray.length; i++) {
var reg = new RegExp(LinesArray[i]);
if(reg.test(password)){
resultat = false;
break;
}
}
return resultat;
};
console.log(testValidity());
Тут ошибка: var LinesArray["abcd","efg", "hrh"];
, должно быть var LinesArray = ["abcd","efg", "hrh"];
И тут ошибка: let arr = linesArray[i]
- вместо определенной ранее переменной "LinesArray" прописана неизвестная "linesArray". Javascript чувствителен к регистру.
У вас было три ошибки в коде, в первой строке
var LinesArray["abcd","efg", "hrh"];
не было знака равно
.
А в функции вы использовали обращение к массиву linesArray[i]
, тогда как у вас переменная называлась LinesArray
(с большой буквы).
А также у вас получается return
вызывался при первой итерации цикла, в результате цикл прерывался и вы не доходили до следующих значений. Проще всего вынести return
за пределы цикла for
.
И, по-моему, лучше ограничить цикл for
длинной массива linesArray
.
var linesArray = ["abcd", "efg", "hrh"];
var password = "213efg123"
var resultat = true;
var testValidity = function() {
for (let i = 0; i < linesArray.length; i++) {
let arr = linesArray[i];
let str = password;
let test = str.indexOf(arr.toString());
if (test > -1) {
resultat = false
break;
}
}
return resultat; //перенос return
};
console.log(testValidity());
var linesArray = ["abcd", "efg", "hrh"];
var password = "213efg123"
var testValidity = function(pwd, lines) {
return !lines.some(line => pwd.indexOf(line) > -1);
}
console.log(testValidity(password, linesArray));
Виртуальный выделенный сервер (VDS) становится отличным выбором
По условию нужно создать функцию addClass(obj, cls), которая добавляет в список класс cls, но только если его там еще нет и она не должна добавлять лишних...
Добрый деньЯ только разбираюсь с JavaScript, пробую написать простой скрип с условиями