为了账号安全,请及时绑定邮箱和手机立即绑定

使用数组值创建对象

使用数组值创建对象

不负相思意 2024-01-18 16:57:21
我正在尝试创建一个具有多个子对象的对象数组。我有一个包含如下数据的表:| PARENT   | CHILD  |---------------------| 123456   | 123    || 123456   | 124    || 123456   | 125    || 123457   | 345    || 123457   | 346    || 123457   | 347    |....我希望得到一个与此类似的数组:var arr_nos = { 123456 : [123, 124, 125], 123457 : [345, 346, 347]}在循环期间,我有这个:var arr_nos = [];$('#table tbody tr').each(function( index ) {   var parent_no = elem.find('.parent_no').html();   var child_id = elem.find('.child_id ').html();   if(parent_no != '') {      child = [         child_id      ]      arr_nos.push(parent_no, child);   }});但这会导致:["123456", Array(1), "123456", Array(1),"123456", Array(1), "123457", Array(1), "123457", Array(1), "123457", Array(1)]
查看完整描述

3 回答

?
慕尼黑5688855

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>


查看完整回答
反对 回复 2024-01-18
?
交互式爱情

TA贡献1712条经验 获得超3个赞

代替:

var arr_nos = []
arr_nos.push(parent_no, child)

做:

let arr_nos = {}
arr_nos[parent_no] = [...arr_nos[parent_no], child]


查看完整回答
反对 回复 2024-01-18
?
慕容3067478

TA贡献1773条经验 获得超3个赞

要获取示例中的数组对象,您必须执行以下操作

  arr_nos[parent_no] = child

并且必须将对象声明为

arr_nos = {}

代替

arr_nos = []

但这是数组的对象,而不是对象的数组。要么你的例子错了,要么你的定义错了

我不确定如何获取您的具体示例{123456: [123, 124, 125], 123457: [345, 346, 347]}。您必须指定必须制定什么标准来决定该对象的键是什么。


查看完整回答
反对 回复 2024-01-18
  • 3 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信