JavaScript逻辑';s:将事件数组转换为逗号分隔的字符串,并将其添加到单个变量中

JavaScript逻辑';s:将事件数组转换为逗号分隔的字符串,并将其添加到单个变量中,javascript,foreach,Javascript,Foreach,早上好 我有一个小小的逻辑问题,我无法安静地思考。我有一个从forEach获取的值数组,它返回这样一个数组 "events": [["IDLING:END"],["TOWING:END"]], 我需要将它添加到一个由n个逗号分隔的变量中。这个事件类型可以有多个条目,例如,它也可以有一个额外的速度:结束条目等,所以我需要它像 let eventResult = 'IDLING:END,TOWING:END,SPEED:END' 现在我

早上好

我有一个小小的逻辑问题,我无法安静地思考。我有一个从forEach获取的值数组,它返回这样一个数组

"events": [["IDLING:END"],["TOWING:END"]],
我需要将它添加到一个由n个逗号分隔的变量中。这个事件类型可以有多个条目,例如,它也可以有一个额外的速度:结束条目等,所以我需要它像

let eventResult = 'IDLING:END,TOWING:END,SPEED:END'
现在我的问题是:如何添加这些条目,然后检查是否有额外条目,并只添加一次所有新条目。我有多个gps位置,具有完全相同的数据,我只需要添加每个条目一次,但正如我所说的,在任何给定时刻都可能有更多条目,或者我应该说是额外的值

我希望我的解释清楚。
致以热烈的问候

我会用下面的方式来做的。我也同意有多种方法可以消除重复项

let events=[[“a:a”]、[“b:b”]、[“a:a”];
让arrToJoin=[];
const flatArray=events.flat();
flatArray.forEach((e)=>{
if(arrToJoin.findIndex((a)=>a==e)=-1){
arrToJoin.push(e);
}
});

console.log(arrToJoin.join(“,”)以了解问题1。您要将
“事件”:[[“怠速:结束”],[“牵引:结束”],
转换为
“怠速:结束,牵引:结束,速度:结束”
2。您不希望对任何事件重复输入。是否正确?是的,这是正确的。添加所有条目时,要从
数组
转换为
“怠速:结束,牵引:发动机,速度:结束”
。您可以使用Join方法<代码>数组。连接(“,”)
。你需要这个吗?是的。我需要加入他们。我只需要一些逻辑来首先添加当前我在控制台日志(position.events)时可以看到的条目,我需要添加每个条目一次,然后检查是否有我可能不知道的其他条目。这可以是任何值,具体取决于发送它的单位。相同的数组值会多次出现。现在准确地说是267次。看起来很有趣。非常感谢。去试试看:)这真的很管用。我想解释一下这到底是怎么回事。特别是(a)=>a===e==-1)部分?我偶然发现的是,如果(position.events.length!==0){eventResult=position.events.join()}或者{eventResult='N/a'},我只是在做这个检查。请检查