javascript - 无法将字符从一个字符串替换到另一个字符串 - 是 Javascript 错误吗?
问题描述
我正在尝试用另一个字符串替换一个字符串,但没有完全擦除第一个字符串的内容。就好像这是一种特殊效果,字符串的每个字母都被转换成另一个单词。起初我想像打字机一样做,但后来我想随机做。但是,我无法让它工作,它看起来像是一个错误。
let title1 = "Your sales place";
let title2 = "Software Hub";
var k = 0;
var speed = 150;
function typeWriter() {
if (k < title1.length) {
if (k >= title2.length) {
title2 += title1.charAt(k);
}
title2 = title2.replace(title2.charAt(k), title1.charAt(k));
document.getElementById("demo").innerHTML = title2;
k += 1;
setTimeout(typeWriter, speed);
}
}
typeWriter();
<div id="demo"></div>
输出:
YO AESRL SUPLACE
解决方案
replace
替换第一次出现的字符,不一定是 index 处的字符k
。
而不是 mutating title2
,我建议简单地做
….innerHTML = title2.slice(0, k) + title1.slice(k);
推荐阅读
- javascript - 无法捕获任务输入文件的快照':react-native-fs:javaPreCompileDebug'property'compileClasspaths'在最新检查期间
- android - NonExistentClass 不能转换为 Annotation
- reactjs - 是否可以通过从其中一个 props 调用函数来获取嵌套的内部 React 组件的名称?
- python - Python Pandas-在一列中检索值,而它们小于第二列的值
- python - 如何计算 Pandas 中滚动窗口的累积乘积?
- logfile - 显示日志文件中数值大于或等于 X 的所有行
- c# - 调用正确方法的通用对象
- business-intelligence - 在比较业务对象 webi 中的两个不同日期后找到最大结果
- r - 如何使用 dplyr::arrange 首先对 NA 进行排序?
- r - 如何在某些条件下选择矩阵的元素?