Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function checkPlate(plate) {
- //если в идеале , то надо учесть возможность для длины номера отличной от 6
- plate = plate.toLowerCase();
- let validLetters = 'abcehkmoptxy';
- let allLetters = 'qwertyuiopasdfghjklzxcvbnm';
- let validDigits = '0123456789';
- let result = 100;
- let validTemplate = [validLetters, validDigits, validDigits, validDigits, validLetters, validLetters]
- let validLength = validTemplate.length;
- let lettersNum = 0;
- let isPlateStandart = true; // предположим изначально, что номер стандартный и поднимем флаг
- for (let i = 0; i < validLength; i++) {
- if (isPlateStandart && !validTemplate[i].includes(plate[i])) { // ключевая оптимизация решения
- isPlateStandart = false; // хоть раз не соответствует правилам - все, флаг опускаем
- }
- if (allLetters.includes(plate[i])) {
- lettersNum++; // буквы в любом случае считаем
- }
- }
- if (!isPlateStandart) {
- result = lettersNum;
- }
- return result;
- }
- let testPlate = 'Xq1q8q2qYqZ';
- testPlate = 'Pq2q0q4qBqT';
- if (checkPlate(testPlate) === 100) {
- console.log(testPlate + ' test complete')
- } else {
- console.log(testPlate + ' not standart, includes ' + checkPlate(testPlate) + ' letters');
Add Comment
Please, Sign In to add comment