gpt4 book ai didi

javascript - charAt() 给我不好的输出

转载 作者:行者123 更新时间:2023-11-30 20:05:48 28 4
gpt4 key购买 nike

我正在编写一种编程语言,在 javascript 中分号是分号,而我的是斜杠。

代码如下:

        document.getElementsByTagName("input")[0].addEventListener("change", function() {
var file = document.getElementsByTagName("input")[0].files[0];
var reader = new FileReader();
reader.onload = function(evt) {
var lines = [];
var data = evt.target.result;
var i;
var j;
for (i = 1; i <= data.length; i++) {
var search = data.charAt(i);
if("/" === search){
lines.push(i);
}
}
document.body.innerText = lines.toString();
};
reader.readAsText(file, "UTF-8");
}, false);
<body>
<input type="file">
<div>

</div>
</body>

它应该输出斜杠所在的位置,但每次我运行文件时,它都会告诉我斜杠后字符的位置。

我知道我可以使用一些数学来摆脱它,但为什么会这样?

谢谢,EthanZoneCoding

最佳答案

要事第一:charAt()是从零开始的,因此您应该从 0 开始迭代并在到达 data.length 之前结束:

for (i = 0; i < data.length; i++) {
/* ... */
}

如果要存储从一开始的索引而不是从零开始的索引,只需添加 1 即可:

lines.push(i + 1);

关于javascript - charAt() 给我不好的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52947198/

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