Arrays 根据数组在angular5中的位置创建并关联数组

Arrays 根据数组在angular5中的位置创建并关联数组,arrays,ionic3,angular5,Arrays,Ionic3,Angular5,我有以下字符串,我将其转换为两个独立的数组: Cliente solicita reenvío de pedido:Equipamiento Perdido:Pedido cancelado a petición de cliente:Pedido con documentación pendiente:Pedido en incidencia,Pedido en incidencia,Pedido en incidencia,Pedido en incidencia,Pedido en inc

我有以下字符串,我将其转换为两个独立的数组:

Cliente solicita reenvío de pedido:Equipamiento Perdido:Pedido cancelado a petición de cliente:Pedido con documentación pendiente:Pedido en incidencia,Pedido en incidencia,Pedido en incidencia,Pedido en incidencia,Pedido en incidencia
每当出现符号“”时,它表示数组中有一个新值,如果有“”则表示一组值

我不确定只使用.split()是否能正确分隔数组中的值

之后,我有一个类似的字符串和代码,我将执行与上面相同的过程:

EQSOLREENVIO:EQPER:EQCAN:EQRECHKODOC:EQAUS,EQCDE,EQDDE,EQINACCE,EQVAC:EQINDEV:EQCAMBIODI,EQENV,EQFECHA,EQFIESTA,EQINCITRASP:EQENT:EQDEV:EQRCH:EQADMIPDV:EQCRE,EQRETENER:EQRECOOFI
我需要将这两个数组关联起来,其中第一个数组的位置0具有第二个数组的位置0的代码

我不知道如何处理第二部分,即通过阵列的位置来关联阵列

编辑

下面是一个关系示例:

第0位:客户征求意见-->EQSOLREENVIO

位置1:设备管理器-->设备

位置2:客户小百科全书-->EQCAN

位置3:Pedido con documentación pendiente-->EQRECHKODOC

位置4:Pedido en incidencia-->EQAUS、EQCDE、EQDDE、EQINACCE、EQVAC

因此,数组应该看起来有点像这样:

Array { 0: Cliente solicita reenvío de pedido
             { 0: EQSOLREENVIO }
        1: Equipamiento Perdido
             { 0: EQPER }
        2: Pedido cancelado a petición de cliente
             { 0: EQCAN }
        3: Pedido con documentación pendiente
             { 0: EQRECHKODOC }
        4: Pedido en incidencia
             { 0: EQAUS
               1: EQCDE
               2: EQDDE... }

下面的片段与我从你的问题中理解的一样

  • 通过然后

  • 将第二个数组的第0个元素与第一个数组的第0个元素相关联

  • 返回一个对象(作为关联的数组

  • const first='Cliente requesta reen vío de pedido:equipamento Perdido:pedido cancelado a petición de Cliente:pedido con documenta pendiente:pedido en incidencia,pedido en incidencia,pedido en incidencia,pedido en incidencia,pedido en incidencia'
    const second='EQSOLREENVIO:EQPER:EQCAN:eqtechkodoc:EQAUS、EQCDE、EQDDE、EQVAC:EQINDEV:EQCAMBIODI、EQENV、EQFECHA、EQFIESTA、EQFIESTA、eqincortasp:EQENT:EQDEV:EQRCH:EQADMIPDV:EQCRE、EQRETENER:eqrecoof'
    常数分离=(s)=>{
    返回s.split(':').map(e=>e.split(','))
    }
    const relate=(s1,s2)=>{
    const sep1=单独的(s1)
    const sep2=独立(s2)
    常量obj1={}
    sep1.forEach((e,i)=>{
    如果(e.length)e=e[0]
    如果(!obj1[e])obj1[e]=[]
    obj1[e]=sep2[i]
    })
    返回obj1
    }
    log(relate(first,second))//作为包含数组的对象
    
    console.log(Object.entries(relate(first,second))//作为数组
    Hi muka,这几乎是完全正确的,但是最后一个代码“EQAUS”,如果您在我的问题中看到,在这个代码之后还有其他代码,它们由逗号分隔,与同一组“Pedido en incidencia”相关,因此,您需要将所有字符串和代码配对,不仅是第0个元素?确切地说,each:是一个不同的组,each,是该组中的不同值修改了代码段(
    relate2()
    )-我认为它满足了您的需要。我在我的问题中添加了一个示例,说明它应该如何实现,我已经尝试了你的新代码,但它没有正确执行。有一个问题:你在示例结果代码中显示了什么-这不是JS中的数组。数组的语法为
    [item1、item2、item3、[item4、item5]]
    。对象的语法为
    {item1:item2,item3:[item4,item5]}
    。请注意大括号、方括号、逗号、冒号,以及所有的东西。可以通过索引引用数组中的项,通过键引用对象中的项。