JavaScript初始化对象数组
<p> </p><h1>一、{}</h1>
<p>我们都知道JavaScript的数据结构是松散的,比如说你定义一个变量</p>
<p>var temp;</p>
<p>那么你可以随手这样定义temp.attr1 = "参数1",因为对于JavaScript来说万物皆对象,所以如此来定义是没有任何问题的</p>
<p>那么问题来了,要是定义数组,还能用上面的方法吗?</p>
<p> </p>
<h1>二、【】</h1>
<p>要是定义数组,还能用上面的方法吗?</p>
<p>结论是错误的:错误的示例</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> tableData=<span style="color: rgba(0, 0, 0, 1)">[];
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">我们假设list是一个集合List<String></span>
<span style="color: rgba(0, 0, 255, 1)">for</span> (<span style="color: rgba(0, 0, 255, 1)">var</span> i = 0; i < list.length; i++<span style="color: rgba(0, 0, 0, 1)">) {
tableData.attr1</span>= list+"attr1"<span style="color: rgba(0, 0, 0, 1)">;
tableData.attr2</span>= list+"attr2"<span style="color: rgba(0, 0, 0, 1)"> ;
}</span></pre>
</div>
<p> </p>
<p>下面是正确的数组初始化(我们一般就把数组当成对象数组)</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">赋值</span>
<span style="color: rgba(0, 0, 255, 1)">var</span> list_map = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Array();
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">即 var list_map=[];</span>
<span style="color: rgba(0, 0, 255, 1)">for</span> ( <span style="color: rgba(0, 0, 255, 1)">var</span> i = 0; i < 10; i++<span style="color: rgba(0, 0, 0, 1)">) {
list_map.push({baidux:</span>'baidux'+i,baiduy:'baiduy'+<span style="color: rgba(0, 0, 0, 1)">i});
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取</span>
<span style="color: rgba(0, 0, 255, 1)">if</span>(list_map != <span style="color: rgba(0, 0, 255, 1)">null</span> && list_map.length > 0<span style="color: rgba(0, 0, 0, 1)">){
</span><span style="color: rgba(0, 0, 255, 1)">for</span> ( <span style="color: rgba(0, 0, 255, 1)">var</span> i = 0; i < list_map.length; i++<span style="color: rgba(0, 0, 0, 1)">) {
alert(baidumaps.baidux);
alert(baidumaps.baiduy);
}
}</span></pre>
</div><br><br>
来源:https://www.cnblogs.com/lyflexi/p/12180878.html
頁:
[1]