javascript - JavaScript Logic:将事件数组转换为逗号分隔的字符串并将其添加到单个变量中
问题描述
早上好,
我有一个小逻辑问题,我不能安静地绕开我的头。我有一个从 forEach 获得的值数组,它返回这样的数组。
"events": [["IDLING:END"],["TOWING:END"]],
我需要将其添加到由 n 逗号分隔的单个变量中。例如,这种事件类型可以有多个条目,它也可以有一个额外的 SPEED:END 条目等。所以我需要它像......
let eventResult = 'IDLING:END,TOWING:END,SPEED:END'
所以现在我的问题是:我如何添加这些,然后检查是否有任何额外的条目,并且只添加一次所有新条目。我有多个具有完全相同数据的 gps 位置,我只需要添加每个条目一次,但正如我所说,这可能在任何给定时刻都有更多条目,或者我应该说额外的值。
我希望我的解释清楚。温暖的问候
解决方案
我会通过以下方式做到这一点。我也同意有多种方法可以删除重复项。
let events = [["a:a"], ["b:b"], ["a:a"]];
let arrToJoin = [];
const flatArray = events.flat();
flatArray.forEach((e) => {
if (arrToJoin.findIndex((a) => a === e) === -1) {
arrToJoin.push(e);
}
});
console.log(arrToJoin.join(","));