当我在下面编写代码时,所有输出都会按预期反转。
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);