javascript - JavaScript:从给定二维数组的内部数组中删除所有重复元素
问题描述
您必须从给定二维数组的内部数组中删除所有重复元素。
二维阵列
[[1,2,3,8,1,2], [54,26,14,54], [81,4,6,84]]
内部数组
[1,2,3,8,1,2], [54,26,14,54] and [81,4,6,84]
所以输出应该是
[[1,2,3,8],[54,26,15],[81,4,6,84]]
代码:
var twoD = [[1,2,3,8,1,2], [54,26,14,54], [81,4,6,84]];
function deleteDuplicate (twoD) {
let uniqueArr = []; //init empty array
for(var i=0;i<twoD.length;i++){
for(let j of twoD[i]) {
if(uniqueArr.indexOf(j) === -1) {
uniqueArr.push(j);
}
}
}
return uniqueArr;
}
console.log(deleteDuplicate(twoD));
我的代码returns
是一个[1,2,3,8,54,26,15,81,4,6,84]
带有as 值的数组。
我知道问题在于推动,但无论如何我都想不出,我该怎么做?
解决方案
您可以使用Set。
const arr = [[1,2,3,8,1,2], [54,26,14,54], [81,4,6,84]];
function beUnique(arr){
const res = arr.map((a)=>{
const unique = new Set(a);
return Array.from(unique);
});
console.log(res);
}
beUnique(arr);
推荐阅读
- postgresql - 由于 Postgres 中的触发器,无法将数据插入表
- android - 无法删除 nav_host_fragment 顶部的空间
- d3.js - 如何使用随机生成的数据为 d3 条着色?
- mysql - 为什么 MySQL 工作台为 FULLTEXT 索引创建不正确的语法?
- c# - DevOps - 进程“msbuild.exe”在持续集成构建中以代码“1”退出
- r - 如何使用ggplot更改图例文本标签?
- spring-boot - 以编程方式配置侦听器,而不是使用注释
- scala - 将抽象类与 Scala 教程的案例类一起使用时,“前向引用扩展了定义值 exp”
- css - 使用 css 动画从中心缩放 svg
- c# - 如何确定 macOS 应用程序是否通过 url 启动