3 回答
TA贡献1848条经验 获得超2个赞
您可以使用这个循环:
var arr_nos = {};
$('#table tbody tr').each(function( index,elem ) {
var parent_no = $(elem).find('.parent_no').html();
var child_id = $(elem).find('.child_id ').html();
if(parent_no != '') {
if(!arr_nos[parent_no]) arr_nos[parent_no] = [];
arr_nos[parent_no].push(child_id);
}
});
console.log(arr_nos);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="table">
<tbody>
<tr>
<th class='parent_no'>1</th>
<th class='child_id'>11</th>
</tr>
<tr>
<th class='parent_no'>2</th>
<th class='child_id'>22</th>
</tr>
<tr>
<th class='parent_no'>3</th>
<th class='child_id'>33</th>
</tr>
<tr>
<th class='parent_no'>2</th>
<th class='child_id'>444</th>
</tr>
</tbody>
</table>
TA贡献1712条经验 获得超3个赞
代替:
var arr_nos = [] arr_nos.push(parent_no, child)
做:
let arr_nos = {} arr_nos[parent_no] = [...arr_nos[parent_no], child]
TA贡献1773条经验 获得超3个赞
要获取示例中的数组对象,您必须执行以下操作
arr_nos[parent_no] = child
并且必须将对象声明为
arr_nos = {}
代替
arr_nos = []
但这是数组的对象,而不是对象的数组。要么你的例子错了,要么你的定义错了
我不确定如何获取您的具体示例{123456: [123, 124, 125], 123457: [345, 346, 347]}
。您必须指定必须制定什么标准来决定该对象的键是什么。
添加回答
举报