首页 > 解决方案 > JavaScript Logic:将事件数组转换为逗号分隔的字符串并将其添加到单个变量中

问题描述

早上好,

我有一个小逻辑问题,我不能安静地绕开我的头。我有一个从 forEach 获得的值数组,它返回这样的数组。

"events": [["IDLING:END"],["TOWING:END"]],

我需要将其添加到由 n 逗号分隔的单个变量中。例如,这种事件类型可以有多个条目,它也可以有一个额外的 SPEED:END 条目等。所以我需要它像......

let eventResult = 'IDLING:END,TOWING:END,SPEED:END'

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

我希望我的解释清楚。温暖的问候

标签: javascriptforeach

解决方案


我会通过以下方式做到这一点。我也同意有多种方法可以删除重复项。

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(","));


推荐阅读