Javascript 使用数组值创建对象

Javascript 使用数组值创建对象,javascript,arrays,Javascript,Arrays,我正在尝试创建一个包含多个子对象的对象数组。我有一个包含如下数据的表: | PARENT | CHILD | --------------------- | 123456 | 123 | | 123456 | 124 | | 123456 | 125 | | 123457 | 345 | | 123457 | 346 | | 123457 | 347 | .... 我希望得到与此类似的数组: var arr_nos={12345

我正在尝试创建一个包含多个子对象的对象数组。我有一个包含如下数据的表:

| PARENT   | CHILD  |
---------------------
| 123456   | 123    |
| 123456   | 124    |
| 123456   | 125    |
| 123457   | 345    |
| 123457   | 346    |
| 123457   | 347    |
....
我希望得到与此类似的数组:

var arr_nos={123456:[123124125],123457:[34534636347]}

在循环过程中,我有:

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)]

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

  arr_nos[parent_no] = child
并且必须将对象声明为

arr_nos = {}
而不是

arr_nos = []

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

我不知道如何使用
{123456:[123124125],123457:[34534636347]}
获得您的具体示例。您必须指定您必须制定的标准,以决定此对象的键是什么。

而不是:

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


您可以使用以下循环:

var arr_nos={};
$('#table tbody tr')。每个(函数(索引,元素){
var parent_no=$(elem).find('.parent_no').html();
var child_id=$(elem.find('.child_id').html();
如果(父项编号!=''){
如果(!arr_nos[parent_no])arr_nos[parent_no]=[];
arr_nos[父项编号]。推送(子项id);
}
});
控制台日志(arr_nos)

1.
11
2.
22
3.
33
2.
444

所以你想得到的例子是数组的对象你说你想得到对象,但你创建了数组并将值推送到它你的标题说你想要一个多维数组,但你的示例表明它只是一个数组中有值的对象。那是什么?是的,我的标题不正确。这个例子就是我想说的。这能回答你的问题吗?这更接近,但只添加了一个子项。@JudsonCooper现在检查将有多个具有相同id(父项\否)的父项。我将用一个例子来编辑这个问题。这正是我所需要的。谢谢大家!@朱德森·库珀:你的惠康:)别忘了投票,我的朋友。
let arr_nos = {}
arr_nos[parent_no] = [...arr_nos[parent_no], child]