我想编写一个反转数字的JavaScript函数

时间:2017-02-08 00:04:32

标签: javascript function

我正在学习JavaScript,我真的很想知道为什么这个功能不起作用。请解释一下我在这里做错了什么以及如何让它发挥作用。我真的希望保持简单,因为我能理解我做错了什么。

var input = prompt("Write a number");

function around() {
    for (var x = 0; x < input.lenght ; x++) {
        console.log(input.reverse());
    }
}

around();

4 个答案:

答案 0 :(得分:2)

这应该可以解决问题。字符串没有反向()方法,但数组有:

function around() {
    var input = prompt("Write a number");

    if (!parseInt(input)) {
        return null; // Or do something with bad input
    }

    return parseInt(input.split('').reverse().join(''));
}

答案 1 :(得分:1)

当我阅读你的函数时,它似乎会打印你的反向字符串n次,其中n是字符串的长度。在任何情况下,看起来你都试图反转一个字符串,所以让我们继续前进。

没有&#34;反向&#34;函数内置于Javascript以反转字符串。但是,有一种方法可以反转数组(使用.reverse())。您可以非常轻松地将字符串拆分为数组,即使用input.split(&#34;&#34;)。然后,您可以反转数组,并在其上调用.join(&#34;&#34;),将您的数组重新转换为字符串。

但如果你对此没有任何说明,我真的无法确定你希望你的功能做什么。

答案 2 :(得分:1)

prompt中返回的是String类型,reverse()方法用于Array类型。

因此,反转字符串的最简单方法是将其拆分为字符数组,将其反转,将字符连接回字符串,然后根据需要将其解析为数字。

var input = prompt("Write a number");

function around() {
  input = parseInt(input.split('').reverse().join(''));
  console.log(input);
}

around();

答案 3 :(得分:0)

你的问题是输入是一个字符串,而字符串原型没有objc_msgSend方法。要做到这一点,您必须执行reverse之类的操作。 input.split('').reverse().join('')将字符串转换为字符数组。 split('')是一个可以反转数组的Array方法。 reverse()将数组的每个元素组合成一个字符串,在每个数组元素之间添加参数(在本例中为空字符串)。