数组的复杂问题

问题描述

我有一个需要解决的复杂问题。
我有一个看起来像这样的数组:

var array = [
             ["1hszZhsez7","mb12",0],["87hJKLi893",1,"tt43",["jchd79dcic",2],["as0w9ejasm",1],["coosihchw9","zz00",["vs0x0j9ndm","uu33",["00s0kd20r7",["xassdwddao",["caosw8ncxc",2,0]
            ];   

此数组始终具有不同的值。所以我们进去吧。
数组基本上具有以下值:

var array = [
             [id,type,code,priority]
            ];      

ID: ID是唯一的。没什么特别的
类型:共有三种不同的类型。 0、1和2。
代码:该代码不是唯一的。多个数组项可以相同。
优先级:优先级是数字。如果数字低,则优先级高。如果数量较大,则优先级较低。


任务:
首先,我们需要将不同的类型分类为不同的数组。这样看起来像这样:

var type_zero = [
                 ["coosihchw9",0]
                ];   

var type_one = [
                 ["87hJKLi893",1]
                ];  
 
var type_two = [
                 ["caosw8ncxc",0]
                ];  

使用此功能很容易:

 array.forEach(function(item) {
      if (item[1] === 0) {
        type_zero.push([item[0],item[1],item[2],item[3],item[4],item[5]]);
      }
      else if (item[1] === 1) {
        type_one.push([item[0],item[5]]);
      }
      else if (item[1] === 2) {
        type_two.push([item[0],item[5]]);
      }
    });     

但是随后头痛开始了。我们需要为每个代码组创建一个单独的数组。但是我们永远不知道有多少不同的代码。所以我们不能制作静态数组。
无论我们使用哪种代码。最后,它应该像这样,基于示例数组

var type_zero_zz00 = [
                      ["coosihchw9",0]
                     ];

var type_one_tt43 = [
                      ["87hJKLi893",];

 var type_one_uu33 = [
                      ["vs0x0j9ndm",1]
                     ];
      
 var type_two_uu33 = [
                      ["caosw8ncxc",0]
                     ];  

为什么需要这些数组?在下一步中,我必须为每个数组列表执行一个forEach循环。我希望有人知道解决方案,因为这个问题杀死了许多天,并且关于不可能的想法越来越大。
提前谢谢,
马吕斯

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)