当我尝试在指定的索引处更改字符串字符时,我从变量cipher
得到了警告。
const emojis: string[] = [/* values */];
function revealOriginEmojis(cipher: string): string {
for(let i = 0; i < cipher.length; i++){
let index: number = emojis.indexOf(cipher[i]);
cipher[i] = emojis[index];
}
return cipher;
}
那么,我应该创建一个新的字符串变量还是任何更好的解决方案? 非常感谢
答案 0 :(得分:6)
string
是primitive value,它是不可变的。
您可以将其转换为字符数组,编辑该数组的某些元素,然后将该数组转换回字符串。
const cipherChars = [...cipher]; // convert into array
cipherChars[2] = 'X'; // alter array
cipher = cipherChars.join(); // convert back into string