Javascript将数组转换为字符串并使其反向输出

Javascript converting an array to a string and making it output in reverse

本文关键字:输出 串并 字符串 数组 转换 字符 Javascript      更新时间:2023-09-26

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

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"时,它不会返回字符串。它返回一个对象,告诉在假定的"转换"之后它仍然是一个数组。我对此有点困惑。

我这样做不是为了一个我很好奇的项目,我已经挑选了一个小时了。

此行不更改sequence变量,只更改returns字符串:

sequence.toString();

CCD_ 4提供CCD_。所以这不是你想要的。

使用

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

Array具有.reverse方法。

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

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

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

返回以下内容:

踢,圈套,帽子,打开帽子

你可以用这个代替:

sequence.join(' ');

这对sequence变量没有任何作用

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

你需要重新分配它:

sequence = sequence.toString();

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