javascript - 如何从数组中获取包含相同元素的子数组?
问题描述
我有一个包含重复元素的数组。我需要的是把那些重复的元素放到新的子数组中。
例如:
I have the main array, array = [ a, b, c, a, d, c, c, b, a ]
what I need is to get this array divide into new sub-arrays dynamically like below:
subArray1 = [ a,a,a]
subArray2 = [b,b]
subArray3 = [c,c,c]
subArray4 = [d]
谢谢。
解决方案
您可以按值对数组进行分组。
const
array = ['a', 'b', 'c', 'a', 'd', 'c', 'c', 'b', 'a'],
grouped = Object.values(array.reduce((r, v) => {
(r[v] ??= []).push(v);
return r;
}, {}));
console.log(grouped);
推荐阅读
- ruby-on-rails - 将表单重构为部分
- angularjs - 如何解决未捕获的错误:angularjs 中的 [$injector:modulerr]
- javascript - angular.js 未捕获错误:[ng:areq] 参数 'fn' 不是函数,在处理基于 angular-ui-calendar 的日历小部件时得到 Moment
- json - react native如何过滤JSON
- android - 无法将 Android 库资源设为私有?
- python - Django - 从一个应用程序重定向到另一个应用程序的页面 Django
- java - Android Retrofit 连接 JAVA 套接字
- java - baja.jar 中的 tridium niagara 4 下拉菜单
- fork - 当数据已写入共享内存区域时唤醒进程
- java - log4j - StringMatchFilter 仍在记录不匹配的日志