【问题标题】:How to loop through numeric values (numbers) in JavaScript?如何在 JavaScript 中循环遍历数值(数字)?
【发布时间】:2021-03-01 08:07:31
【问题描述】:

假设我有一个这样的变量:

const numbers = 1234567654321;

如何在这里循环遍历每个数字?

我很生气,我在谷歌上找不到这么简单的主题的答案。

这是我一直在尝试做的事情:

const numbers = 1234567654321;
const str = numbers.toString();
let results = [];

for (let i = 0; i <= str.length; i++) {
  results.push(+str[i]);
}
console.log(results);

【问题讨论】:

  • 当前代码有什么问题?只需遍历结果数组,您将获得每个数字
  • 为什么results.push(+str[i]); 中有“+”?
  • @MShoaibQureshi + 在这里充当一元加号。它将任何东西转换为数字。同Number
  • 对对对,我已经用过这个 plus 很多次了,但是忘记了..谢谢提醒......但事实上这些已经是数字了。我认为没有必要转换为字符串,然后再转换为数字。
  • @MShoaibQureshi 他想要每个数字分开。

标签: javascript loops for-loop


【解决方案1】:

您的代码可以正常工作。只有一个问题是循环条件应该是i &lt; str.length

const numbers = 1234567654321;

const str = numbers.toString();
let results = [];

for (let i = 0; i < str.length; i++) {
  results.push(+str[i]);
}

console.log(results)

【讨论】:

    【解决方案2】:

    您自己的答案似乎有效(除了错误的索引,如 Rifat Bin Reza 提到的)。

    您也可以使用 split() 代替 for 循环:

    const numbers = 1234567890;
    const result = numbers.toString().split('').map(num => parseInt(num));
    console.log(result);

    【讨论】:

      【解决方案3】:

      您的代码很好,除了检查条件i&lt;= str.length 应该是i &lt; str.length。 使用map()的另一种方法。

      const number = 12345;
      const solution = [...`${number}`].map(number => +number);
      console.log(solution);

      【讨论】:

        猜你喜欢
        • 2022-08-01
        • 2018-12-18
        • 1970-01-01
        • 1970-01-01
        • 2011-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多