javascript - 如何使用匿名函数根据条件拆分数组
问题描述
我有一个包含应用程序名称(app1、app2 等)和相关 ID 的数组列表,如下所示:
["App1|380d82838f", "App1|54870d82838f", "App2|882538011", "App2|82538011", "App2|82567845"]
我需要用唯一的应用程序名称重写数组,并且所有相应的 ID 用“|”分隔。
["App1|380d82838f-54870d82838f", "App2|882538011-82538011-82567845"]
任何方向都非常感谢。
谢谢亚历克斯
解决方案
您可以将一个对象用于collectiong,并获取用于映射结果的条目;
const
data = ['App1|380d82838f', 'App1|54870d82838f', 'App2|882538011', 'App2|82538011', 'App2|82567845'],
result = Object
.entries(data.reduce(function (r, s) {
const [key, value] = s.split('|');
(r[key] = r[key] || []).push(value);
return r;
}, {}))
.map(function (a) { return a.join('|'); });
console.log(result);
推荐阅读
- regex - regexp_extract 是否适用于多种模式?-Spark sql
- vue.js - 在Vue中的for循环中过滤列表
- javascript - dx-data-grid 保存按钮处于活动状态
- java - 如何将 org.eclipse.paho.client.mqttv3.logging.Logger 转发到我的日志
- css - 如何使我的背景图像适合整个屏幕?
- python - Django - 如何使用装饰器在基于函数的视图中重用代码
- scala - scala将深引用数组转换为数组
> - reactjs - React js 处理可见性=隐藏的方式
- javascript - 网站无法在除 Chrome 之外的任何移动浏览器上运行
- reactjs - 将 React 常量传递给 useEffect 挂钩