169 похожих чатов

Привет, почему мой код не срабатывает? Прохожу кодварс задание это Ошибка

тестов на скриншоте:

function validatePIN (pin) {
console.log(pin)
let newArr = pin.split('');
let twoArr = []
for (let i = 0; i < newArr.length; i++) {
if (newArr[i] == "-" || newArr[i] == "." || newArr[i] == ' ') {
return false }
if (Number(newArr[i]) || Number(newArr[i]) == 0) {
console.log(`${newArr[i]} - является цифрой`)
twoArr.push(newArr[i]);
} else {
console.log(`${newArr[i]} Не цифра`)
}
}

let ourNumber = ''
for (let i = 0; i < twoArr.length; i++) {
ourNumber += twoArr[i]
}
console.log(`ourNumber = ${ourNumber}`)
if (ourNumber.length !== pin.length) {
return false
}
return ourNumber.length == 4 || ourNumber.length == 6 ? true : false
}

12 ответов

24 просмотра

Делаем проверку +pin на нан и возвращаем если трю фалсе, а после превращаем это в массив и проверяем ленф

xxxu7- Автор вопроса
T T
Делаем проверку +pin на нан и возвращаем если трю ...

А у меня не достаточно разве в if просто перевести это в Number и все. Если тру - то бежим дальше по условию. У меня ошибка с "пробелом" в конце. Я не знюа как пофиксить

xxxu7- Автор вопроса
T T
Делаем проверку +pin на нан и возвращаем если трю ...

Так это не пройдет все тесты. В тестах может быть и - и плавающая точка и буква.

const number = +pin; if(isNaN(number)) return false; return (pin.length == 4 || pin.length == 6);

Поменял :)

Можешь ещё поменять +number)

function validatePIN(pin) { return /^(\d{4}|\d{6})$/.test(pin); }

xxxu7- Автор вопроса
ivgrr
function validatePIN(pin) { return /^(\d{4}|\d{6...

А как сделать такие регулярки? Я что-то не пойму :(

xxxu7
А как сделать такие регулярки? Я что-то не пойму :...

https://learn.javascript.ru/regular-expressions Тут можно почитать на самом деле я пытался разными способами !!!осторожно, плохой код function validatePIN (pin) { if (pin.length === 4 || pin.length === 6) { let arr = [...pin].map( (item) => +item ) for (let i of arr) { if (isNaN(i)) { return false } } return true } return false } Так не проходит. Можно сделать так: function validatePIN (pin) { for (let i of pin) { if (!isFinite(parseInt(i))) return false; } return pin.length === 4 || pin.length === 6; } Мне кажется пока что тебе не стоит решать задачи на кодварсе, где понятно что надо regexp

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

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
function LoadMemoryFromInet2( f:TMemoryStream; const url:string; var e:string ):Boolean; var http:TIdHttp; LHandler: TIdSSLIOHandlerSocketOpenSSL;begin Result := fals...
Александр Смоляков
1
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
как быть с принтером? такой подход прокатит?
zamtmn
12
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Карта сайта