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

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”时,它不返回string.It返回对象,告诉我在“转换”之后它仍然是一个数组。我对此有些困惑。

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

最佳答案

该行不会更改sequence变量,而只是更改returns字符串:

sequence.toString();

["kick", "snare", "hat", "openHat"].toString()提供"kick,snare,hat,openHat"。所以这不是您要的东西。

采用

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

07-24 09:24