【问题标题】:How to display all elements of an array (composed only of strings) with a for loop?如何使用 for 循环显示数组的所有元素(仅由字符串组成)?
【发布时间】:2019-06-28 09:34:17
【问题描述】:

我尝试将数组的每个元素存储在一个变量中,然后使用for loop。没用。

数组如下:

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

【问题讨论】:

  • 贴出你试过的代码
  • 数组中只有字符串吗?请添加你的 - 不工作 - 代码。
  • 请出示您的代码,我不敢相信您没有找到有关如何记录元素数组的任何信息,因此我猜您的代码中可能存在问题,这会很有趣帮助你从你已经开始做的事情开始,而不是提供一个全新的解决方案。
  • 很抱歉没有发布代码。顺便说一句,忍受我大约三周前才开始自学网络开发的事实。我也是 StackOverflow 的新手。因此,我也愿意接受有关如何根据“世界标准”进行编码的提示和最佳实践。这里是 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
  • @LavLav 请编辑问题并添加您现有的代码,主要有三个错误需要解决:1)额外的) 导致语法错误。 2)您正在记录整个数组而不是索引。 3) 在你的 for 循环语法之后,你有一个额外的 ;

标签: javascript arrays string for-loop


【解决方案1】:

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);

或者你可以在forEach之前filter

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

【讨论】:

  • 因为这个问题不是给我代码,而是要了解什么有效或无效。但另一部分是问题本身,不清楚,如果数组只包含字符串(看起来像),但问题(这是不言自明的 [op]),要求字符串,而不是元素。
  • 你是什么意思“但问题要求的是字符串,而不是元素。” @NinaScholz?
  • 标题是“如何用for循环打印数组的所有字符串元素?”。
  • 我将其解释为“如何打印所有字符串元素”。你能准确解释你的意思吗(真的很抱歉,我只是不明白你在这里得到什么)。
  • 不管标题是什么,问题都不清楚,因为输入数组已经是一个字符串数组,OP指定了一个for循环但没有显示任何代码。对我来说,帮助 OP 的正确方法是修复他现有的代码,解释问题所在,而不是给出全新的答案。但是,我仍然认为,作为答案,这个答案足够完整且格式正确,值得一票,尽管它并不能完全解决真正问题的问题,因为问题仍然不清楚。
【解决方案2】:

使用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
})

【讨论】:

  • 为什么条件运算符这么复杂而不使用表达式的结果?
【解决方案3】:
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);
}

【讨论】:

    【解决方案4】:

    你有什么:

    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++);
    //                                    ^
    

    行尾有一个分号。这是一个empty statement ;(请查看链接),这意味着以下任何代码都不会循环。

    要在循环中获取下一条语句,请删除分号,然后计算下一个代码直到下一个分号,或者使用block statement with

    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]);
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2021-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多