javascript - Fetch unique elements from Array of Array
问题描述
I have a Array of String array i want to fetch the unique elements from that array ignoring the case. how can i fetch Example:
List of array:
[
["java,C,Node,ReactJs"]
["c","Spring"]
["undefined"]
["asdja"]
["Java","Spring"]
["adjasjh"]
["adjasjh"]
["java"]
]
ExpectedList:
[java,C,node,reactjs,spring,..]
解决方案
加入数组,改成小写,用逗号分割,转换成Set得到唯一词,然后传回数组:
const arr = [["java,NO,C,Node,ReactJs"],["c","Spring"],["undefined"],["asdja"],["Java","Spring"],["adjasjh", "Spring-roll"],["adjasjh"],["java", "javascript", "java-script"]];
const result = [...new Set(arr.join().toLowerCase().split(','))];
console.log(result);
较旧的答案 - 并非在所有情况下都有效:
您可以加入数组数组,并使用String.match()
负前瞻 RegExp来获取唯一字符串:
const arr = [["java,NO,C,Node,ReactJs"],["c","Spring"],["undefined"],["asdja"],["Java","Spring"],["adjasjh", "Spring-roll"],["adjasjh"],["java", "javascript", "java-script"]];
const result = arr.join()
.match(/([^,]+\b)(?!.+\1[,|$])/ig);
console.log(result);
推荐阅读
- python - 登录 tkinter 后更改表单
- r - 为什么 all.equal 在两个数据集之间的数字列中显示平均相对差异,但是
- python - 为数百万个条目选择优化循环
- pandas - 为什么从 csv 加载数据框将所有 ndarray 转换为字符串?
- python - Pandas 相当于 numpy.array2string
- java - Amazon Corretto 11 随 Corretto 15 的安装一起卸载
- android - 再次观察到片段中的 LiveData 后,分页 3 返回最后一个值
- ssis - 由任务计划程序运行时的 SSIS 工作流问题
- postgresql - PostgreSQL 在直接运行查询与通过 Java 应用程序运行查询时给出不同的计划/索引结果
- reactjs - 我可以将 redux 仅用于事件驱动的业务逻辑吗?