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 ответов

26 просмотров

Делаем проверку +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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта