Как отобразить все элементы массива (состоящего только из строк) с помощью цикла for? - PullRequest
0 голосов
/ 28 июня 2019

Я пытался сохранить каждый элемент массива в переменной, а затем использовать for loop.Не используется.

Массив следующий:

var WebDevNames = ["CypriotGuy","Kim","Alex","Laura","Arya","David","DutchGirl","Valéry","Juan","Pol"];

Ответы [ 4 ]

2 голосов
/ 28 июня 2019

Цикл for - самый простой подход - проверьте, является ли элемент строкой, и если это так, зарегистрируйте его в консоли.

var WebDevNames = ["CypriotGuy","Kim","Alex","Laura","Arya","David","DutchGirl","Valéry","Juan","Pol"];
for (let i = 0; i < WebDevNames.length; i++) {
  if (typeof WebDevNames[i] == "string") {
    console.log(WebDevNames[i]);
  }
}

Если вы хотите создать новый массив, вы можете использовать filter:

var WebDevNames = ["CypriotGuy","Kim","Alex","Laura","Arya","David","DutchGirl","Valéry","Juan","Pol"];
const strings = WebDevNames.filter(e => typeof e == "string");
console.log(strings);
.as-console-wrapper { max-height: 100% !important; top: auto; }

А затем есть одна строка forEach:

var WebDevNames = ["CypriotGuy", "Kim", "Alex", "Laura", "Arya", "David", "DutchGirl", "Valéry", "Juan", "Pol"];
WebDevNames.forEach(e => typeof e == "string" ? console.log(e) : e);

Или вы могли бы filter до forEach:

var WebDevNames = ["CypriotGuy", "Kim", "Alex", "Laura", "Arya", "David", "DutchGirl", "Valéry", "Juan", "Pol"];
WebDevNames.filter(e => typeof e == "string").forEach(e => console.log(e));
1 голос
/ 28 июня 2019

Что у вас есть:

var Web_Dev_names = ["CypriotGuy","Kim","Alex","Laura","Arya","David","DutchGirl","Valéry","Juan","Pol"];
var Number_of_names = Web_Dev_names.length;
for (i = 0; i < Numbers_of_names; i++);
console.log(Web_Dev_names); ); 

Посмотрев на

for (i = 0; i < Numbers_of_names; i++);
//                                    ^

у вас точка с запятой в конце строки. Это пустое утверждение ; (пожалуйста, посмотрите на ссылку), и это означает, что любой следующий код не зациклен.

Чтобы получить следующий оператор внутри цикла, удалите точку с запятой, затем следующий код будет оцениваться до следующей точки с запятой или используйте оператор блока с

for (i = 0; i < Numbers_of_names; i++) {

}

Вы еще не объявили i. Эта переменная теперь является глобальной переменной, если ее использовать в локальной области видимости.

Тогда у вас есть орфографическая ошибка

for (i = 0; i < Numbers_of_names; i++) {
//                    ^

Последняя строка содержит синтаксическую ошибку

console.log(Web_Dev_names); );
//                          ^^

и логическая ошибка, потому что вы записываете весь массив вместо элемента. Вы не можете взять индекс для получения значения.

console.log(Web_Dev_names[i]);
//                       ^^^

Вместе с незначительным изменением имен переменных, чтобы иметь строчные буквы, потому что, как правило, только заглавные начальные имена обозначают переменную, которую можно создать, или функции / классы.

var web_dev_names = ["CypriotGuy", "Kim", "Alex", "Laura", "Arya", "David", "DutchGirl", "Valéry", "Juan", "Pol"],
    number_of_names = web_dev_names.length,
    i;

for (i = 0; i < number_of_names; i++) {
    console.log(web_dev_names[i]);
}
1 голос
/ 28 июня 2019

Используйте typeof, чтобы определить, является ли элемент строкой или нет

var WebDevNames = ["CypriotGuy","Kim","Alex","Laura","Arya","David","DutchGirl","Valéry","Juan","Pol"];
WebDevNames.forEach(function(e){
typeof e=="string"?console.log(e):false
})
0 голосов
/ 28 июня 2019
var WebDevNames = ["CypriotGuy","Kim","Alex","Laura","Arya","David","DutchGirl","Valéry","Juan","Pol"];

for (var x of WebDevNames) {
 document.write(x + "<br >");
console.log(x);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...