Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JavaScript数组中删除值_Javascript_Arrays_Html - Fatal编程技术网

从JavaScript数组中删除值

从JavaScript数组中删除值,javascript,arrays,html,Javascript,Arrays,Html,我有下面的代码,当点击一个按钮时,它会检查以前存储的值,并将其与新值连接起来——基本上是为了得到一个很长的纬度和经度列表 (ArrayValue是全局声明的) document.getElementById将新值存储在此处: <input type="text" value="" name="arrayvalues" id="arrayvalues" /> 然而,我遇到的问题是,用户可以在任何时候撤消上次单击,这意味着存储的最后一个纬度和经度值需要删除。我怎样才能按照我编码的方

我有下面的代码,当点击一个按钮时,它会检查以前存储的值,并将其与新值连接起来——基本上是为了得到一个很长的纬度和经度列表

(ArrayValue是全局声明的)

document.getElementById将新值存储在此处:

<input type="text" value="" name="arrayvalues" id="arrayvalues" />


然而,我遇到的问题是,用户可以在任何时候撤消上次单击,这意味着存储的最后一个纬度和经度值需要删除。我怎样才能按照我编码的方式来做呢?

使用JavaScript数组可用的
pop
方法,该方法将删除最后存储的元素。下面是关于
pop()
的简短教程:

因此,如果您的阵列如下所示:

var coords = [[lat1,long1],[lat2,long2],[lat3,long3]]
 [[lat1,long1],[lat2,long2]]
运行
coords.pop()
将导致
coords
如下:

var coords = [[lat1,long1],[lat2,long2],[lat3,long3]]
 [[lat1,long1],[lat2,long2]]

从您的代码来看,它看起来像是一个字符串而不是一个数组。Protip:我建议不要将应用程序状态存储在HTML元素中。将这些值存储在JavaScript中,并在需要时从HTML更新它们。有朝一日,如果你想访问或更改这些值,HTML就不存在了,那么你必须加载元素才能达到状态,因为DOM中有10K行代码处于状态。你应该将lat/long存储在数据结构中,而不是字符串(如数组)中,它保存与每个横向/纵向对接触的对象。然后,当您将值输出给用户时,您只需将这些值合并到希望用户看到的字符串中即可。谢谢-对我的初始代码进行了一些调整,但最终实现了