Я некоторое время работал над этой функцией, но не могу понять, почему, даже если я использую .splice (), я не получаю модифицированный массив. Я предоставляю индекс, с которого нужно начать изменять массив «i», количество элементов для удаления «1» и элемент для добавления «str [i]».
function wave(str) {
let result = [];
for (let i = 0; i < str.length; i++) {
if ((/[a-z]/ig).test(str[i])) {
let st = str.split("").splice(i, 1 , str[i].toUpperCase());
result.push(st);
}
}
return result;
}
console.log(wave('hello')); // expected ["Hello", "hEllo", "heLlo", "helLo", "hellO"];
console.log(wave("two words")); // ["Two words", "tWo words", "twO words", "two Words", "two wOrds", "two woRds", "two worDs", "two wordS"];