如何创建和组织JavaScript数组?
我正在使用ColdFusion 8和jQuery 1.8 我从数据库中得到一些信息,并填充到div中,如下所示:如何创建和组织JavaScript数组?,javascript,jquery,coldfusion,Javascript,Jquery,Coldfusion,我正在使用ColdFusion 8和jQuery 1.8 我从数据库中得到一些信息,并填充到div中,如下所示: <div class='SpecInfo' data-height='10' data-width='23' data-length='156'></div> <div class='SpecInfo' data-height='20' data-width='21' data-length='159'></div> <div c
<div class='SpecInfo' data-height='10' data-width='23' data-length='156'></div>
<div class='SpecInfo' data-height='20' data-width='21' data-length='159'></div>
<div class='SpecInfo' data-height='30' data-width='25' data-length='154'></div>
<div class='SpecInfo' data-height='40' data-width='27' data-length='155'></div>
<input type='button' id='GoButton' value='Go!'>
[10,23,156]
[20,21,159]
[30,25,154]
[40,27,155]
对于每个div,我希望所有属性都在一个地方。我想要更像这样的东西:
<div class='SpecInfo' data-height='10' data-width='23' data-length='156'></div>
<div class='SpecInfo' data-height='20' data-width='21' data-length='159'></div>
<div class='SpecInfo' data-height='30' data-width='25' data-length='154'></div>
<div class='SpecInfo' data-height='40' data-width='27' data-length='155'></div>
<input type='button' id='GoButton' value='Go!'>
[10,23,156]
[20,21,159]
[30,25,154]
[40,27,155]
我做错了什么?如何组织数组?那么为什么要将所有数据放在3个单独的数组中,而不是放在一个对象数组中 而不是
SpecArray['Height'].push(H);
SpecArray['Width'].push(W);
SpecArray['Length'].push(L);
使用
这将产生如下所示的对象数组:
[
{ 'height': 10, 'width': 23, 'length': 156 },
{ 'height': 20, 'width': 21, 'length': 159 },
{ 'height': 30, 'width': 25, 'length': 154 },
{ 'height': 40, 'width': 27, 'length': 155 }
]
但是,您必须将SpecArray初始化为一个数组,而不是一个包含3个数组的对象。那么,为什么要将所有数据放在3个单独的数组中,而不是一个对象数组中呢 而不是
SpecArray['Height'].push(H);
SpecArray['Width'].push(W);
SpecArray['Length'].push(L);
使用
这将产生如下所示的对象数组:
[
{ 'height': 10, 'width': 23, 'length': 156 },
{ 'height': 20, 'width': 21, 'length': 159 },
{ 'height': 30, 'width': 25, 'length': 154 },
{ 'height': 40, 'width': 27, 'length': 155 }
]
但是,您必须将SpecArray初始化为数组,而不是作为包含3个数组的对象。您能澄清这一点吗?但是,您必须将SpecArray初始化为数组,而不是作为包含3个数组的对象。我已经看到了许多不以这种方式创建数组的示例。创建此数组的正确方法是什么?@EvikJames只需使用var SpecArray=[];而不是SpecArray={Height:[],Width:[],Length:[]};。除了上次的警报呼叫之外,你的代码应该很好。非常感谢!我只是无法让我的大脑以正确的方式思考这个问题。我感谢你的时间和知识。你能澄清一下吗?但是,您必须将SpecArray初始化为数组,而不是作为包含3个数组的对象。我已经看到了许多不以这种方式创建数组的示例。创建此数组的正确方法是什么?@EvikJames只需使用var SpecArray=[];而不是SpecArray={Height:[],Width:[],Length:[]};。除了上次的警报呼叫之外,你的代码应该很好。非常感谢!我只是无法让我的大脑以正确的方式思考这个问题。我感谢您的时间和知识。如果您不在客户端修改数据,实现这一点的另一种可能方法是在查询中使用序列化JSON并将其发送到客户端以及HTML表示。这样,您就不必刮取DOM以便稍后发送回数据。诚然,序列化查询的形式可能不正确,但我认为CF会将其转换回服务器上的查询对象,这可能很方便。如果您不在客户端修改数据,另一种可能的实现方法是在查询上使用SerializeJSON并将其发送到客户端,以及HTML表示。这样,您就不必刮取DOM以便稍后发送回数据。诚然,序列化查询的形式可能不正确,但我认为CF会将其转换回服务器上的查询对象,这可能很方便。