=并不会把上一条覆盖,因为arr[i].name并不一样,相当于给json动态添加不同的属性。结果如下
当然,如果你数组中的那么如果会一样的话,那么就会被覆盖掉。如果是想要往一个新的对象上加,当作它的属性,那么属性名肯定是唯一的。如果你只是单纯的先把数组变成json串的话,可以使用JSON.stringify(),如下
function setline(lineN){var o = {}
var el
for (var i=0i<lineNi++){
el=document.getElementById('lineName'+i)
el&&(o[i]=el.value);
return o
}
}
<table id="myTable"><thead>
<tr>
<th>代号</th>
<th>城市</th>
<th>附加数字</th>
</tr>
</thead>
<tbody></tbody>
</table>
<script>
var data = [{name:'6101',value:'北京市',age:'11'}, {name:'6102',value:'天津市',age:'11'}, {name:'6103',value:'上海市',age:'22'}]
function getRow(row) {
var tr = $('<tr></tr>')
for(var i in row) {
tr.append('<td>' + row[i] + '</td>')
}
return tr
}
var tbody = $('<tbody></tbody>')
for(var i = 0i <data.lenghti ++ )
tbody.append(getRow(data[i])
$('#myTable tbody').replaceWith(tbody)
</script>
这个是比较标准,也更易读的代码,希望能帮到你。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)