2

如何才能做到这一点?假设用户输入一个整数 14865,然后我如何将该整数切分并以完全相同的顺序将其放入一个数组中,如下所示:[1, 4, 8, 6, 5]。我尝试使用 %10 方法,但它会将其返回到前面。

4

2 回答 2

3

一种方法是将整数转换为字符串,然后使用字符串.split()方法创建包含每个数字的数组。此时数组的每个元素都将是一个字符串,因此循环数组以将每个数组元素从字符串转换为数字(或仅使用.map()):

var x = 14865,
    a = x.toString().split("").map(function(v) { return +v; });

// a is now [1, 4, 8, 6, 5]

请注意,如果整数是由用户输入的,您可以跳过该.toString()部分,因为它已经是字符串,除非您明确将其转换为数字。

PS您提到“%10 方法”返回值“从前到后”-您没有显示您是如何实现该方法的,但是如果您当前的代码一次提取一个数字并将它们添加到数组的末尾“从后到前”为什么不通过使用方法在数组开头插入数字来避免这个问题呢?.unshift()

于 2013-05-02T11:47:12.180 回答
1

在通过获取每个数字来制作数组之后,就像你说的那样,只需反转数组

var digitArray //your calculated array
digitArray = digitArray.reverse()
于 2013-05-02T11:45:13.443 回答