【问题标题】:Javascript converting an array to a string and making it output in reverseJavascript将数组转换为字符串并使其反向输出
【发布时间】:2012-09-03 13:16:01
【问题描述】:

当我在下面编写代码时,所有输出都按预期反转。

var sequence = "kick snare hat openHat";
var sequenceBackwards = sequence.split('').reverse().join('');
document.write(sequenceBackwards);

但是,当我有一个数组时,然后将其转换为字符串,然后执行相同的过程,它不起作用。

var sequence = ["kick","snare", "hat","openHat"];
sequence.toString();
var sequenceBackwards = sequence.split('').reverse().join('');
document.write(sequenceBackwards);

我想确切地知道为什么这不起作用,以及一个可行的替代示例。

当我为 sequenceBackwards 执行“typeof”时,它不会返回字符串。它返回的对象告诉我在假定的“转换”之后它仍然是一个数组。我对此有点困惑。

我不是为了一个我很好奇并且已经研究了一个小时的项目这样做的。

【问题讨论】:

    标签: javascript arrays string reverse


    【解决方案1】:

    这一行不会改变sequence 变量,它只是returns 字符串:

    sequence.toString();

    ["kick", "snare", "hat", "openHat"].toString() 提供"kick,snare,hat,openHat"。所以这不是你要找的。​​p>

    使用

    var sequence = ["kick", "snare", "hat", "openHat"];
    var sequenceBackwards = sequence.join(' ').split('').reverse().join('');
    document.write(sequenceBackwards);
    

    【讨论】:

      【解决方案2】:

      数组有.reverse 方法。

      var sequence = ["kick","snare", "hat","openHat"];
      sequence.reverse();
      

      【讨论】:

        【解决方案3】:

        您遇到不同行为的原因是toString 调用通过逗号而不是空格将每个元素连接在一起。这段代码:

        var sequence = ["kick","snare", "hat","openHat"];
        sequence.toString();
        

        返回以下内容:

        踢,圈套,帽子,开帽

        您可以改用这个:

        sequence.join(' ');
        

        【讨论】:

          【解决方案4】:

          这对sequence 变量没有任何作用:

          var sequence = ["kick","snare", "hat","openHat"];
          sequence.toString();
          

          你需要重新分配它:

          sequence = sequence.toString();
          

          Array.toString 返回逗号分隔值,但您可以使用sequence.join(' ') 将值与空格连接。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-01-29
            • 1970-01-01
            • 2022-01-23
            • 2020-12-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多