正如标题所述,尝试制作一个不和谐的bot,以每隔一个大写字母的形式重复某个用户的输入。当前在toString()方面遇到麻烦。在以下两种情况下: dummy = mockbotString [i] .toString(); 错误返回“无法读取未定义的属性'toString'”。我假设这与具有空内容的数组索引有关。
if(message.author.id == "*************"){
var mockbotString = new Array(message.content.split());
for(i=0;i<message.content.length;i++)
{
message.channel.send(message.content.length);
message.channel.send(i);
if(i%2==0)
{
var dummy;
dummy = mockbotString[i].toString();
dummy = dummy.toLowerCase();
mockbotString[i] = dummy;
}
else{
var dummy;
dummy = mockbotString[i].toString();
dummy = dummy.toUpperCase();
mockbotString[i] = dummy;
}
}
message.channel.send(mockbotString);
答案 0 :(得分:3)
它可能很简单:
var message = {author: 'Someone', content: 'Silly message string.'};
var mockbotString = [...message.content]
.reduce((r, l, i) => r + l[`to${i%2? 'Lower' : 'Upper'}Case`](), '');
console.log(mockbotString)