У меня есть функция, которая должна распечатать несколько вещей: массив, его length, тип каждых данных в массиве, количество строк в массиве и если массив содержит только строки.
Мне удалось сделать function, который делает именно это.
Мой единственный вопрос/проблема заключается в том, что счетчик строк tip присутствует после каждого найденного значения, соответствующего моим требованиям, то есть после каждой строки.
Есть ли способ избежать этого? И есть ли другой способ решить этот тип упражнений?
var sir = ["water", 3, true, false, "dog"]
function verificare() {
var lungimesir = sir.length;
document.write("this is the length of the array " + lungimesir + "<br>");
var tip = 0;
for (var i = 0; i < sir.length; i++) {
var value = typeof(sir[i]);
document.write(" " + value + "<br>");
if (value === "string") {
tip = tip + 1;
document.write(" " + tip + "<br>");
}
}
document.write("the number of strings found is " + tip + "<br>");
if (tip === lungimesir) {
document.write("the array contains only strings " + "<br>")
} else {
document.write("the array is mixed " + "<br>")
}
}
verificare(sir);если я запускаю код после каждого строкового значения, счетчик tip присутствует. это была моя проблема. Я отредактировал его, как вы сказали, и теперь он работает так, как я хотел. Спасибо за помощь!
Не стесняйтесь удалять этот очень конкретный вопрос



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Удалить эту строку:
document.write(" " + tip + "<br>");
Первый намек на то, что вы печатаете только через звонки document.write. Поскольку это происходит один раз для каждого элемента, проблема, вероятно, связана с одним вызовом document.write. И есть document.write, который печатает tip. Закомментируйте эту строку, и проблема будет решена:
var sir = ["water", 3, true, false, "dog"]
function verificare() {
var lungimesir = sir.length;
document.write("this is the length of the array " + lungimesir + "<br>");
var tip = 0;
for (var i = 0; i < sir.length; i++) {
var value = typeof(sir[i]);
document.write(" " + value + "<br>");
if (value === "string") {
tip = tip + 1;
//document.write(" " + tip + "<br>");
}
}
document.write("the number of strings found is " + tip + "<br>");
if (tip === lungimesir) {
document.write("the array contains only strings " + "<br>")
} else {
document.write("the array is mixed " + "<br>")
}
}
verificare(sir);
классно! это работало таким образом. спасибо и вам за объяснение!
Непонятно, что вы имеете в виду. Если вы закомментируете
document.write(" " + tip + "<br>");то вы его не увидите