javascript - 简单 JavaScript“Web 应用程序”中的问题
问题描述
我正在做一个小项目。它是关于解决一个数学谜题。你可以在这里找到回购:https ://github.com/soulwash/how-many-soldiers
当我输入一个数字并单击“尝试”时,就会出现问题。完成后,我想使用“添加 +1”、“添加 +7”或“下一个更高的解决方案”按钮。问题是它不仅仅是添加数字,而是在数字末尾添加它,从而产生更高的数量。例如:
输入 290 -> 然后单击 Try -> 然后单击“添加 +1” -> 它以 2901 而不是 291 结束
+7 和“下一个更高的解决方案”也是如此,但减法选项则不然。
你能帮我解决这个问题吗?
谢谢!!
解决方案
听起来您将起始值作为字符串并尝试添加到字符串中。当您将数字添加到字符串时,您会将字符串与该数字连接(“71”+ 6 变为“716”)。这是因为 + 充当加法和连接取决于它的使用方式/时间。但是,-
作用不同。当您减去 JavaScript 时,会快速转换类型并产生数字差异(“716” - 6 变为 710,而 710 现在是一种数字)。下面是一个简单的例子:
var st = "71";
st = st + 6;
console.log(st);
console.log(typeof st);
st = st - 6;
console.log(st);
console.log(typeof st);
推荐阅读
- r - 每个集群的 FeatureScatter 的 facet_grid
- javascript - GetEnumSelectList 覆盖默认选择的选项值
- mathml - 使用 mathml 生成 eps 文件的 Wiris 演示
- sql-server - 如何让 MS Access 与 SQL Server 链接以根据先前的输入填充新输入
- haskell - 实例签名:对方法的约束
- python - 将列表转换为字符串以进行标记化
- python - 如何查找重复项并在文本文件中打印该行?
- reactive-programming - 我可以使用 AtomicReference 来获取 Mono 的值并且代码仍然保持反应性吗
- java - 在 GitHub 上发布所有矩阵构建版本的单元测试结果
- angular - 失败:无法为登录测试读取未定义的属性“setValue”