字符串有没有类似数组这样的通过下标索引修改元素的方法

字符串有没有类似数组这样的通过下标索引修改元素的方法

var arr=[1,1,5,8,7,9]

arr[1]=2;     //arr=[1,2,5,8,7,9]


var str="suibian";

str[1]="a";      //str还是等于"suibian",没效果,也不报错

我知道其实可以通过把字符串转成数组,再对数组进行修改,再转成字符串,这样比较麻烦,想问下还有别的简单点的方法吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
Kivdy 2017-11-22 01:12:25

字符串不能直接进行修改,基本类型数据通过间接方式修改,返回新值。

  • 提问者 woximiemie #1
    记得每种类型的原型链上好像都有可读可改写属性,不知道行不行
    2017-11-23 00:03:20
  • Kivdy 回复 提问者 woximiemie #2
    字符串不可以,其实不用纠结这个问题。原型链的方法也是函数,你可以把字符串转化为数组的方式修改写成函数,然后继承在原型链上,在调用函数。如果你不嫌麻烦的话。。。。其实原理是一样的。
    2017-11-23 00:07:14
  • 提问者 woximiemie 回复 Kivdy #3
    好的,谢谢了
    2017-11-23 00:17:53
Miss路 2017-11-21 11:17:00

可以用replace方法,例如:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
          var str = "Hello Tom!"
          document.write(str.replace(/Tom/, "Jane"));
    </script>
</body>
</html>

但是用replace方法不能改变原字符串的值,可以另存返回值进行运用。祝学习愉快!

  • 提问者 woximiemie #1
    谢谢老师,突然想到了string类型的原型链上应该有可读写的属性,等以后学到了再试下
    2017-11-23 00:01:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师