我试图替换第一个' 0'在我所做的数组的索引0中称为' bits'。
bits = ['01010'];
console.log(bits[0].charAt(1));
bits[0].charAt(0) = '9'; // <-Not working
console.log(bits[0].charAt(0));
我会用上面的代码替换第三行代码来实现这个目标吗?
最终的控制台日志应该返回&#39; 9&#39;
str.replaceAt也不起作用
答案 0 :(得分:4)
bits[0] = "9" + bits[0].substr(1);
或者你可以写一个替换函数:
function replace(str, replace, start, end){
return str.substr(0, start) + replace + str.substr(end || start + replace.length);
}
bits[0] = replace(bits[0], "9", 0);
答案 1 :(得分:2)
制作字符串副本以替换任何字符。也是一个自定义函数&#34; setCharAt&#34;需要定义
function setCharAt(str,index,chr) {
if(index > str.length-1) return str;
return str.substr(0,index) + chr + str.substr(index+1);
}
在声明函数执行下面的给定代码后替换&#34; 0&#34;指数
bits[0]=setCharAt(bits[0],0,9)
完成此操作后,最终的console.log将返回&#34; 9&#34;
答案 2 :(得分:1)
var bits = ['01010'];
console.log(bits); //["01010"]
bits[0] = bits[0].replace('0','9');
console.log(bits); //["91010"]