Javascript 仅在一个数组中将不同的元素转换为数组

Javascript 仅在一个数组中将不同的元素转换为数组,javascript,Javascript,我试图在一个数组中显示多个元素。(见示例) 但是我不知道怎么做 谢谢你的帮助 我显示我的脚本: ****Du code****** var color = []; var risk = []; if(Operational.length == group.name.length){ color = "green"; risk = "Operational"; console.log(group.name); // toto // tata // titi } if(

我试图在一个数组中显示多个元素。(见示例)

但是我不知道怎么做

谢谢你的帮助

我显示我的脚本:

****Du code******

var color = [];
var risk = []; 
if(Operational.length == group.name.length){
  color = "green";
  risk = "Operational";
  console.log(group.name);
  // toto
  // tata
  // titi
}

if(Test.length > 0){
  color = "";
  risk = "";
}

 if(PartialOutage.length > 0){
   color = "orange"
   risk = "Partial";
 }

 if(MajorOutage.length > 0){
   color = "red";
   risk = "Major ";
 }
  var Group = new Array(color,risk,group.name);     
   Groups.push(Group);
   Groups.sort();
 }
});          
console.log(Groups);
}

**** Du code *****
实际结果:

[ [ 'green', 'Operational', 'toto' ],
[ 'green', 'Operational', 'tata' ],
[ 'green', 'Operational', 'titi' ],
[ 'orange', 'Partial', 'test' ],
[ 'red', 'Major ', 'test2' ] ]
预期结果:

[ [ 'green', 'Operational', 'toto,tata,titi' ],
[ 'orange', 'Partial', 'test' ],
[ 'red', 'Major ', 'test2' ] ]

检查此项。按照预期格式使用重新创建最终数组值

  • 将第一个子数组推入新数组
    a
  • 然后将每个
    b
    子数组与新创建的数组
    a
  • 用于断开循环的
    forloop
  • 如果新数组
    a
    中存在子数组值,则合并两个数组并过滤重复的
    //检查代码段中的注释
  • var a=[
    [‘绿色’、‘运行’、‘toto’],
    [‘绿色’、‘可操作’、‘塔塔’],
    [‘绿色’、‘可操作’、‘提提’],
    [‘橙色’、‘部分’、‘测试’],
    ['red'、'Major'、'test2']
    ];
    a=a.reduce(函数(a,b){
    对于(变量i=0;i 0){
    a、 forEach(函数(k,ind){
    if(k.indexOf(b[i])>-1{//if包含相同的参数
    k=k.concat(b);//连接两个数组
    var j=k.filter((l,n)=>k.filter(m=>m==l).length==1.filter(o=>o)
    a[ind]=k.filter((l,n)=>k.indexOf(l)!=n);//过滤器重复
    a[ind].push(j.join(','))
    brk=true;//然后中断语句
    检查=正确;
    }否则{
    check=false;//其不包含任何arg直接将子项推入新数组
    }
    })
    如果(brk){
    打破
    }
    如果(!检查){
    a、 推动(b)
    }
    }否则{
    a、 推(b);
    }
    }
    返回//重新创建的新数组返回
    }, []);
    
    控制台日志(a)
    因为您的风险和颜色之间似乎有直接关系,所以您每次似乎只有3个数组,为什么不为这些数组指定3个命名变量
    operational
    partial
    major
    ,并向它们添加项目,而不是每次创建匿名数组?您的问题缺少循环。我认为OP应该学会将数据正确地存储在变量中,而不是用他们可能并不真正理解的复杂解决方案对其进行后期处理。我已经看过你的评论了。我只是将结果转换为预期结果,这非常感谢您的帮助,但可以在一个元素中添加toto tata和titi。(像这样:“托托,塔塔,提提”