javascript - 创建字符串数组会导致修改值
问题描述
为了简化我的工作,我创建了一个网络应用程序来计算累积时间。该应用程序很简单,您有一张桌子:
- 您为创建的行选择一个名称
- 然后出现一个日期选择器(输入 datetime-local)
- 秒表然后开始,直到您设置暂停开始的时间
- 然后您可以通过设置重启时间来重启秒表(应用程序会计算从重启时间到现在的时间间隔)
所以我将时间存储在一个数组中,长度为 5:[年、月、日、小时、分钟]。数组的每个变量都是字符串,当我需要用它计算一些东西时,我使用 parseInt()。
棘手的部分是,当我选择重新启动秒表时,我有两列,一列是常规累积时间计数,另一列只是检查上次暂停和重新启动之间是否花费了超过 48 小时。
我的程序所做的是:
- 收集表格中已经计算的小时和分钟(通过在表格的右框上使用 innerText 并使用正则表达式匹配来收集数字)
- 收集用户选择的重启时间(通过检查输入 datetime-local 的值(我将数组称为“ RestartTime ”)
- 创建一个二维数组,它将存储“ RestartTime ”两次,第一次用于检查 48 小时圈数,第二次用于常规计数
我的代码如下所示:
RestartTime = document.getElementById(LineId).childNodes[1].childNodes[0].value.split(/[-:T]/);
TempRestartTime = [RestartTime, RestartTime];
console.log(RestartTime, TempRestartTime);
输出是:
(5) ["2021", "05", "24", "02", "12"]
(2) [Array(5), Array(5)]
0: (5) ["2021", "05", "23", "02", "12"]
1: (5) ["2021", "05", "23", "02", "12"]
我真的不知道为什么我的二维数组的两个第 3 项从“24”变为“23”,而我放在这里的 3 之间绝对没有代码行。必须有一个解释,但我真的找不到。
如果有人有线索,那将是非常友好的。
真诚的
NAM-超越
解决方案
推荐阅读
- animation - 随着时间的推移动画矩形的宽度
- ubuntu - 修订版 v0.0.0:对于 go get k8s.io/kubernetes 未知
- sql - SQL转置和连接
- plugins - 如何编写一个 pl/sql 开发人员插件以将特殊文本插入到当前窗口的光标位置?
- ionic-framework - 如何在 ionic 4 中实现主细节设计模式
- php - 从 Postman 到 PHP:无法正确生成 Oauth 1 签名
- python - Django 更改下拉菜单
- python - 从终端调用时,对 Foursquare API 的请求不产生任何输出
- c# - 使用反射加载程序集失败,文件已损坏。HRESULT 0x8013110E 因为程序集中的属性太多?
- html - 使用 flexbox 的边框行为