js数组去重:二维数组去重、去除相同的值、移除相同的数组

简介: js数组去重:二维数组去重、去除相同的值、移除相同的数组
//二维数组去重
var arr = [
  [1,2,3],
  [2,3,4],
  [4,5,6]
];
var newArr = [];
for (var i=0; i < arr.length; i++) {
  for (var j=0; j < arr[i].length; j++) {
    var v = arr[i][j];
    // 判断是否存在数组中,不存在在往下走
    if(!newArr.includes(v)) {
      newArr.push(v);
    }
  }
}
console.log(newArr);  //[1, 2, 3, 4, 5, 6]
//二维数组只保留出现一次的值
var arr = [
  [1,2,3],
  [2,3,4],
  [4,5,6]
];
var newArr1 = []; // 去重后的
var newArr2 = []; // 重复的
var newArr3 = []; // 只出现一次的
for (var i=0; i < arr.length; i++) {
  for (var j=0; j < arr[i].length; j++) {
    var v = arr[i][j];
    // 判断是否存在数组中,不存在在往下走
    if(!newArr1.includes(v)) {
      newArr1.push(v);
    } else {
      newArr2.push(v);
    }
  }
}
for (var i=0; i < newArr1.length; i++) {
  var v = newArr1[i];
  if(!newArr2.includes(v)) {
    newArr3.push(v);
  }
}
console.log(newArr1); //[1, 2, 3, 4, 5, 6]
console.log(newArr2); //[2, 3, 4]
console.log(newArr3); //[1, 5, 6]
//二维数组移除相同的数组
const arrays = [
  [1, 2, 5, 6],
  [1, 2],
  [2, 3],
  [1, 2],
  [3, 4],
  [1, 2]
]
const filterArray = array => {
const newArray = [];
array.forEach((currentValue) => {
  let isPush = true;
  newArray.forEach((currentValueIn) => {
    if (currentValueIn) {
      if (currentValue[0] === currentValueIn[0] && currentValue[1] ===
        currentValueIn[1]) {
        isPush = false;
      }
    } else {
      newArray.push(currentValue)
    }
  })
  if (isPush) {
    newArray.push(currentValue)
  }
})
return newArray;
}
console.log(filterArray(arrays));
结果:
[
  [1,2,5,6],
  [2,3],
  [3,4]
]
let arr = [1,13,24,11,11,14,1,2]
let arr1 = []
  for (let i = 0; i < arr.length; i++) {
    if (arr1.indexOf(arr[i]) === -1) {
      arr1.push(arr[i])
    }
  }
console.log(arr) //[1,2,11,14,13,24]
相关文章
|
前端开发 JavaScript 算法
使用 JavaScript 数组方法实现排序与去重
【10月更文挑战第21天】通过灵活运用 `sort()` 方法和 `filter()` 方法,我们可以方便地实现数组的排序和去重。同时,深入理解排序和去重的原理,以及根据实际需求进行适当的优化,能够更好地应对不同的情况。可以通过实际的项目实践来进一步掌握这些技巧,并探索更多的应用可能性。
600 59
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
存储 JavaScript 前端开发
全网最全情景,深入浅出解析JavaScript数组去重:数值与引用类型的全面攻略
如果是基础类型数组,优先选择 Set。 对于引用类型数组,根据需求选择 Map 或 JSON.stringify()。 其余情况根据实际需求进行混合调用,就能更好的实现数组去重。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
258 5
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
638 4
|
JavaScript 前端开发 测试技术
JS都有哪些操作数组的方法
JS都有哪些操作数组的方法
714 3
|
自然语言处理 前端开发 JavaScript
🛠️ JavaScript数组操作指南:20个精通必备技巧🚀
本文详细介绍了 JavaScript 中的 20 个高效数组操作技巧,涵盖了从基本的添加、移除元素,到数组转换和去重等高级操作。强调了不可变性的重要性,提供了清晰的代码示例,帮助开发者编写更整洁和高效的代码。无论是新手还是经验丰富的开发者,这些技巧都将显著提升您的编码能力,使您在项目中更具竞争力。
458 2
|
JavaScript 前端开发 索引
探索JavaScript数组:基础
探索JavaScript数组:基础
202 3
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
374 1