假设我有一个这样的变量:
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);
您的代码工作正常。只有一个问题,那就是循环条件,应该是
i < 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)
您自己的答案似乎有效(除了错误的索引,如 Rifat Bin Reza 提到的)。
您还可以使用
split()
代替 for 循环:
const numbers = 1234567890;
const result = numbers.toString().split('').map(num => parseInt(num));
console.log(result);
您的代码很好,除了检查条件
i<= str.length
应该是i < str.length
。
另一种方法使用 map().
const number = 12345;
const solution = [...`${number}`].map(number => +number);
console.log(solution);
要循环设置多个数字参数,您还可以使用 Array.from ,如下所示:
const nodeQty = 2
const nodeQtyArray = Array.from({ length: nodeQty }, (_, i) => i)
所以你可以对其执行循环:
nodeQtyArray.map(() => ...)