Вот инструкция к упражнению, которое я должен делать: Начните с подсказки, которая просит пользователя ввести любую строку.
Используя цикл for, просмотрите каждый символ в строке.
Если строка содержит букву A (заглавную или строчную), прервите цикл и выведите на экран приведенное ниже сообщение.
Если в строке нет буквы A, выведите на экран сообщение ниже.
Вот мой код
var text= prompt("Enter any string.")
for (var i = 0; i < text.length; i++) {
if (text[i] === "A")
{alert("The string contains the letter A.");
}
if (text[i] === "a")
{alert("The string contains the letter A.");
}
else
{alert("The string does not contain the letter A.");
}
}
Инструкции — это большая подсказка — вы думали, что следовали им?
EDIT: поскольку OP специально хочет использовать цикл for.
const str = "anything";
for (let i = 0; i < str.length; i++) {
const char = str[i];
if (char === "A") {
console.info("contains A");
} else if (char === "a") {
console.info("contains a");
} else {
console.info("do something...");
}
}
Оригинальный ответ:
Вы можете использовать метод включает в себя вместо цикла for.
const str = "Anything";
if (str.includes("A")) {
console.info("contains A");
} else if (str.includes("a")) {
console.info("contains a");
} else {
console.info("do something...");
}
"… Использование цикла for…".
Вы предупреждаете каждую итерацию цикла, что означает, что вы вызываете «оповещение» для каждой буквы.
То, что вы, вероятно, захотите сделать, это создать переменную, например
var doesContainA = false;
Затем в вашем цикле, если оно равно a или A, измените doContainA на true;
В конце сделайте один окончательный оператор if, который определяет, какое сообщение следует оповещать, в зависимости от того, стала ли эта переменная истинной или все еще ложной.
Кроме того, средства форматирования могут помочь вам легче читать код, выстраивая все в ряд, что-то вроде это.
Зачем вам нужен цикл, вы можете сделать это с помощью этого
if (text.includes('A')){
alert("The string contains the letter A.");
}else if (text.includes('a')){
alert("The string contains the letter a.");
}else{
alert("The string does not contain the letter A.");
}
ОБНОВИТЬ
var text= prompt("Enter any string.")
var letterA = false;
var lettera = false
for (var i = 0; i < text.length; i++) {
if (text[i] === "A")
{
letterA = true;
}
if (text[i] === "a")
{
lettera = true
}
}
if (letterA=== true){
alert('string contains letter A');
}else if (lettera ===true){
alert('string contains letter a');
}else{
alert(' string does not contain a or A character');
}
Мой учитель хочет, чтобы мы попрактиковали цикл for, поскольку он является частью урока.
"… Использование цикла for…".
Я обновил свой код с помощью цикла. Проверьте это
Используйте отдельную функцию, которая возвращает логический результат. Этот метод позволяет остановить итерацию после первого появления нужных букв:
function hasLetter(text) {
var char;
for (var i = 0; i < text.length; i++) {
char = text[i];
if (char === "A" || char === "a") {
return true;
}
}
return false;
}
var text = prompt("Enter any string.");
if (hasLetter(text)) {
alert("The string contains the letter A.");
} else {
alert("The string does not contain the letter A.");
}
Вы также можете использовать функцию String.toLowerCase
и проверить, соответствует ли char строчной букве «a»:
char = text[i].toLowerCase();
if (char === "a") {
return true;
}
Что вы ожидаете от написанного вами кода? Что он на самом деле делает?