gpt4 book ai didi

javascript - 向 Javascript String 对象添加一种方法,该方法将用新字符串替换该字符串

转载 作者:行者123 更新时间:2023-11-28 13:03:00 24 4
gpt4 key购买 nike

我正在尝试向 String 对象添加一个非常简单的方法:

 String.prototype.double = function double() {
let newStr = ""
for (let char of this) {
console.log(char)
newStr += char;
newStr += char;
}
}

如您所见,它只是将字符串中的每个字符“加倍”。问题是,我不知道如何用新字符串(“newStr”)实际替换原始字符串

我尝试这样做 = newStr,这导致了“赋值中的左侧无效”错误。

如何用新字符串替换调用该方法的原始字符串?

最佳答案

您需要返回新字符串。

String.prototype.double = function double() {
let newStr = ""
for (let char of this) {
newStr += char+char;
}
return newStr;
}

console.log("string".double());

其他较短的方法可能是

String.prototype.double = function double() {
return this.split("").map(e=>e+e).join("");
}

console.log("string".double());

更新:(关于OP的评论)

在 JavaScript 中,字符串是不可变对象(immutable对象),这意味着其中的字符不能更改,并且对字符串的任何操作实际上都会创建新字符串。

因此您将无法更改原始字符串,因为对字符串进行的任何操作都会返回一个新字符串。因此,您需要将值分配回原始字符串。

关于javascript - 向 Javascript String 对象添加一种方法,该方法将用新字符串替换该字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49036897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com