【问题标题】:how can I split a string into an array with js如何使用js将字符串拆分为数组
【发布时间】:2022-01-04 23:46:04
【问题描述】:

我有一个问题,为什么分配没有得到循环计算的数据量。

为什么demo2不统计所有的数据总量,demo2中的数据量如何计算?

const demo1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];

const demo2 = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
const array_demo2 = [demo2];

let text1 = "";
let number1 = "";
for (let i = 0; i < demo1.length; i++) {
  number1 = (i + 1);
  text1 += demo1[i];
}

let text2 = "";
let number2 = "";
for (let i = 0; i < array_demo2.length; i++) {
  number2 = (i + 1);
  text2 += array_demo2[i];
}

document.getElementById("demo1").innerHTML = number1 +' = '+ text1;
document.getElementById("demo2").innerHTML = number2 +' = '+ text2;
<div style="display: flex"><p>Output 1 =></p>&nbsp;<p id="demo1"></p></div>
<div style="display: flex"><p>Output 2 =></p>&nbsp;<p id="demo2"></p></div>

【问题讨论】:

  • 您的 array_demo2 仅包含一个元素 - “1,2,3,4,5,6,7,8,9,10,11,12,13,14,15”。使用 .split(...) 方法将字符串拆分为数组。
  • 我建议学习如何调试代码。例如,您可以使用浏览器的开发工具。如果您逐行执行代码并查看每个变量并思考为什么它包含它所包含的内容,您自己会注意到问题,然后您的问题将是“如何将字符串拆分为数组”和不是“为什么我的循环不起作用”。然后在此处或在 Google 上找到此类特定问题的解决方案要容易得多。
  • @CherryDT,对不起我的问题的标题,因为我不知道它叫什么。我已经用你的建议代替了它。我是循环 js 的新手,将来我会努力做得更好。谢谢你的建议。
  • @wiihii 我并不是要批评问题的标题,我的意思是调试代码和使用分步执行的技巧可以帮助您得出不同的定义你的实际问题是什么。通常这会使您自己更容易找到解决方案,这意味着您可以更快地进行开发,因为您不必等待其他人理解并帮助您解决问题。在此示例中,调试会向您显示 array_demo2.length 为 1,并且数组中存在该单个元素,与其他数组不同。
  • (不幸的是,大多数教程和大学讲座都未能在早期阶段教授这个重要的东西。在我看来,它应该在第一个 hello world 之后的第 2 天教授。)

标签: javascript html for-loop


【解决方案1】:

demo1是一个数组,表示一个容器内有多个相同类型的变量(数组就是容器)

demo2 是一个单一的变量,一个字符串。你可以

demo2.split(','); // to get an array like demo1, but it will be an array of strings.

array_demo2 是一个具有单个元素的数组,即 demo2 字符串。你可以

array_demo2[0].split(','); // to get an array like demo2/demo1

Read more about arrays here 文本用于 C/++,但在 Javascript 数组中非常相似。

【讨论】:

    【解决方案2】:
    const demo2 = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
    const array_demo2 = [demo2];
    

    这不是将其转换为数字的正确方法,您只是在数组中传递一个字符串,该数组将位于其第一个索引上,因此该数组只有 1 个长度。

    就像你说的一样:

    let fruit = "apple"
    let fruits = [fruit];
    

    fruits 数组的第一个索引总是只有一个水果。 所以正确的方法是使用数组的.split 方法,所以在你的情况下它会是一些东西

    const demo2 = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
    const array_demo2 = demo2.split(",");
    

    现在它将分割每个由“,”分隔的数字,并将其添加到数组的新索引中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-18
      • 1970-01-01
      • 2016-04-01
      • 2012-02-22
      相关资源
      最近更新 更多