我试图替换数组索引中的特定字符。

时间:2018-02-08 20:54:21

标签: javascript arrays

我试图替换第一个' 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;

(JSBIN link)

str.replaceAt也不起作用

3 个答案:

答案 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"]