编码和javascript较新,我正在尝试代码战挑战。我设置了一个数组,以基于循环在我的newArray
的某些索引处重复一个字母。例如,如果输入为:cwAt
,则预期输出应为:C-Ww-Aaa-Tttt
。
在此上停留了几个小时(并且已经睡了)。我收到错误代码:
newArray.join不是函数
当我尝试运行此命令,但不确定如何解决此问题时。我觉得这很简单,我只需要了解为什么会这样。
function accum(s) {
let mumble = s.split('');
for (i = 0; i < mumble.length; i++) {
let newArray = [mumble[i].toUpperCase(), ''];
for (j = i; j > 0; j--) {
newArray = newArray.push(mumble[i]);
};
// Merge the new array into a string and set it at the mumble index required
mumble[i] = newArray.join('');
};
//Return new mumble with - as spaces between elements
return mumble.join('-');
}
console.log(accum('cwAt'));
答案 0 :(得分:3)
将newArray = newArray.push(mumble[i]);
更改为newArray.push(mumble[i]);
push返回数组的新长度。
答案 1 :(得分:0)
您正在将数字存储在newArray
中。尝试将4行替换为:
let newArray[i] = [mumble[i].toUpperCase(), ''];
and the 5 line :
for (j = 0; j < 0; j++) {
and the 6:
newArray[j] = newArray.push(mumble[i]);