详解JavaScript数组过滤相同元素的5种方法

发布时间 - 2026-01-11 01:15:22    点击率:

方法一:比较内层循环变量的值.

var arr = [1, 2, 3, 1, 3, 4, 5, 5];
var resultArr = [];
for (i = 0; i < arr.length; i++) {
  for (j = 0; j < resultArr.length; j++) {
    if (resultArr[j] == arr[i]) {
      break;
    }
  }
  if (j == resultArr.length) {
    resultArr[resultArr.length] = arr[i];
  }
}
console.log(resultArr); //1,2,3,4,5

方法二:计数法.

var arr = [1, 2, 3, 1, 3, 4, 5, 5];
var count;
var resultArr = [];
for (i = 0; i < arr.length; i++) {
  count = 0;
  for (j = 0; j < resultArr.length; j++) {
    if (resultArr[j] == arr[i]) {
      count++;
      break;
    }
  }
  if (count == 0) {
    resultArr[resultArr.length] = arr[i];
  }
}
console.log(resultArr); //1,2,3,4,5

方法三:flag标志法(也叫假设成立法)

var arr = [1, 2, 3, 1, 2, 3, 4, 5, 5];
var resultArr = []; //[1,2,3]
var flag;
for (var i = 0; i < arr.length; i++) {
  flag = true;
  for (j = 0; j < resultArr.length; j++) {
    if (resultArr[j] == arr[i]) {
      flag = false;
      break;
    }
  }
  if (flag) {
    resultArr[resultArr.length] = arr[i];
  }
}
console.log(resultArr);//1,2,3,4,5

方法四:使用sort()方法排序后比较

var arr = [1, 2, 3, 1, 2, 3, 4, 5, 5];
var resultArr = [];
arr.sort(function (a, b) {
  return a - b;
});
//这个时候arr变成了[1, 1, 2, 2, 3, 3, 4, 5, 5]
for (i = 0; i < arr.length; i++) {
  if (arr[i] != arr[i + 1]) {
    resultArr[resultArr.length] = arr[i];
  }
}
console.log(resultArr);

方法五:使用filter()方法筛选掉重复的数组

var arr = [1, 2, 3, 1, 2, 3, 4, 5, 5];
var resultArr;
resultArr = arr.filter(function (item, index, self) {
  return self.indexOf(item) == index;

});
console.log(resultArr);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# javascript  # 数组过滤相同元素  # 数组过滤  # js  # 判断数组相同元素  # JS中filter( )数组过滤器的使用  # JS实现数组过滤从简单到多条件筛选  # js过滤数组重复元素的方法  # javascript下过滤数组重复值的代码  # JavaScript常用数组元素搜索或过滤的四种方法详解  # javascript过滤数组重复元素的实现方法  # js中如何对嵌套数组进行filter过滤  # JavaScript中常用的数组过滤方法例子  # 这个时候  # 也叫  # 大家多多  # 变成了  # resultArr  # lt  # console  # break  # length  # arr  # class  # pre  # strong  # var  # brush  # log  # item  # filter  # return 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港服务器部署网站为何提示未备案?  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  Laravel如何实现一对一模型关联?(Eloquent示例)  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  音响网站制作视频教程,隆霸音响官方网站?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  创业网站制作流程,创业网站可靠吗?  jQuery validate插件功能与用法详解  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何基于云服务器快速搭建网站及云盘系统?  Laravel如何处理异常和错误?(Handler示例)  如何基于云服务器快速搭建个人网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何快速搭建高效服务器建站系统?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  网站建设整体流程解析,建站其实很容易!  如何用AI帮你把自己的生活经历写成一个有趣的故事?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Laravel如何为API生成Swagger或OpenAPI文档  js实现获取鼠标当前的位置  使用Dockerfile构建java web环境  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  微信小程序 scroll-view组件实现列表页实例代码  南京网站制作费用,南京远驱官方网站?  如何快速搭建自助建站会员专属系统?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  如何在Tomcat中配置并部署网站项目?  如何在万网自助建站平台快速创建网站?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  如何续费美橙建站之星域名及服务?  原生JS实现图片轮播切换效果  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  网站建设要注意的标准 促进网站用户好感度!  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  Laravel distinct去重查询_Laravel Eloquent去重方法  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  怎么用AI帮你为初创公司进行市场定位分析?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  如何用PHP工具快速搭建高效网站?  高防服务器租用指南:配置选择与快速部署攻略  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知