通过逗号将字符串分割成数字,然后打印,最终会跳过1个y值
Splitting string into numbers by commas and then printing ends up skipping 1 y-value
这段代码将x和y作为输入,用逗号分隔字符串,将它们转换为整数,然后打印出字符串。
<body>
x: <input id="xv"> <br/>
y: <input id="yv">
<br/>
<div id="results">
<button onclick="action()">Go</button>
</div>
<script>
// javascript
var action = function(){
// separate by commas and place into array
var xvs = document.getElementById("xv").value.split(",");
var yvs = document.getElementById("yv").value.split(",");
// convert to an integer
for(var i=0, j=xvs.length; i<j; i++){
xvs[i] = parseInt(xvs[i]);
yvs[i] = parseInt(yvs[i]);
}
// print out results
document.getElementById("results").innerHTML = xvs + "<br/>" + yvs;
}
</script>
</body>
您希望它打印出与输入相同的副本。但是,我得到的结果是:
Input:
62,64,64,65,65,65,65,66,66,66,66,66,66,66,67,67,67,68,69,69
62,63,63,64,66,65,64,67,67,63,64,68,65,66,66,65,68,68.69,70
Output:
62,64,64,65,65,65,65,66,66,66,66,66,66,66,67,67,67,68,69,69
62,63,63,64,66,65,64,67,67,63,64,68,65,66,66,65,68,68,70,NaN
有人知道这里发生了什么吗?
这是一个jsfiddle链接:https://jsfiddle.net/zs65x2e3/
请注意,如果不将其放入单独的<script>
标记中,代码将不起作用,因为action()
被认为是undefined
。
输入错误,
旧:
62,64,64,65,65,65,65,66,66,66,66,66,66,66,67,67,67,68,69,69
62,63,63,64,66,65,64,67,67,63,64,68,65,66,66,65,68,68.69,70
固定:62,64,64,65,65,65,65,66,66,66,66,66,66,66,67,67,67,68,69,69
62,63,63,64,66,65,64,67,67,63,64,68,65,66,66,65,68,68,69,70
你用的是句号而不是逗号
错误不是因为句号。循环有一个问题。根据输入x的长度运行循环。如果y的输入比x的输入少那么剩下的y的迭代就会得到NaN。在你的样本输入中,周期导致输入的长度小于1,因此最后你得到1个NaN。
相关文章:
- Javascript:将多个表打印成一行,然后再打印
- 设置选项对象关键点:值对以实现带第二个y轴的动态打印
- 跳过x个字符后,如何打印特定字符串
- NodeJS readline有时会打印回第一个输入行(但并不总是,看起来是随机的)
- 如何在变量中存储多个模式参数并在 JavaScript 中打印该变量的值
- PDF.js - 一次打印多个文档
- Javascript:将多个表单输入打印到一个文本区域
- 两个javascript网络工作者连续打印输出-为什么不同时打印呢
- Grails:多个加载ajax调用,但只有一个打印到控制台
- 如何在数组中打印值 在数组中,在多个对象内
- HTML5两个表单将分别打印出来
- For循环只打印一个DIV标记.不是8个DIV标签
- 正则表达式中的多个匹配项并存储或打印它
- 如何将52个随机生成的数字打印到控制台
- Javascript 打印多个网页 iFrame 内容(全部打印按钮)
- JavaScript:打印前 12 个月 - “March”打印两次
- 如何从第二个打印页面开始打印网页页脚
- 网页 在两个打印页面中打印
- 如何使用Javascript连续执行多个打印任务
- 为什么通过javascript发送多个打印被firefox阻止,以及如何禁用它