JavaScript重复元素处理方法分析【统计个数、计算、去重复等】

yizhihongxing

JavaScript重复元素处理方法分析【统计个数、计算、去重复等】

在JavaScript中,处理重复元素是常见的需求,本篇文章将分析几种处理重复元素的方法,包括统计个数、计算、去重复等。

统计个数

统计重复元素的个数是最常见的需求,以下是一些实现方法:

方法1:for循环+计数器

let arr = ["apple", "banana", "apple", "grape", "banana"];
let count = {};
for(let i = 0; i < arr.length; i++){
  if(!count[arr[i]]){
    count[arr[i]] = 1;
  }else{
    count[arr[i]]++;
  }
}
console.log(count); //{ apple: 2, banana: 2, grape: 1 }

方法2:foreach循环+计数器

let arr = ["apple", "banana", "apple", "grape", "banana"];
let count = {};
arr.forEach(function(item){
  if(!count[item]){
    count[item] = 1;
  }else{
    count[item]++;
  }
})
console.log(count); //{ apple: 2, banana: 2, grape: 1 }

方法3:reduce方法

let arr = ["apple", "banana", "apple", "grape", "banana"];
let count = arr.reduce(function(pre, cur){
  pre[cur] ? pre[cur]++ : pre[cur] = 1;
  return pre;
}, {});
console.log(count); //{ apple: 2, banana: 2, grape: 1 }

计算

计算重复元素的总和、平均值等情况也是常见的需求,以下是一些实现方法:

方法1:for循环+计数器+计算器

let arr = [1, 3, 5, 5, 7, 9, 9];
let count = 0;
let sum = 0;
for(let i = 0; i < arr.length; i++){
  count++;
  sum += arr[i];
}
let avg = sum/count;
console.log(avg) //5.571428571428571

方法2:foreach循环+计数器+计算器

let arr = [1, 3, 5, 5, 7, 9, 9];
let count = 0;
let sum = 0;
arr.forEach(function(item){
  count++;
  sum += item;
})
let avg = sum/count;
console.log(avg) //5.571428571428571

方法3:reduce方法

let arr = [1, 3, 5, 5, 7, 9, 9];
let count = arr.length;
let sum = arr.reduce(function(pre, cur){
  return pre + cur;
}, 0);
let avg = sum/count;
console.log(avg) //5.571428571428571

去重复

去重复也是常见的需求,以下是一些实现方法:

方法1:for循环+indexOf+新数组

let arr = ["apple", "banana", "apple", "grape", "banana"];
let newArr = [];
for(let i = 0; i < arr.length; i++){
  if(newArr.indexOf(arr[i]) == -1){
    newArr.push(arr[i]);
  }
}
console.log(newArr); //["apple", "banana", "grape"]

方法2:forEach循环+includes+新数组

let arr = ["apple", "banana", "apple", "grape", "banana"];
let newArr = [];
arr.forEach(function(item){
  if(!newArr.includes(item)){
    newArr.push(item);
  }
})
console.log(newArr); //["apple", "banana", "grape"]

方法3:Set数据结构

let arr = ["apple", "banana", "apple", "grape", "banana"];
let newArr = [...new Set(arr)];
console.log(newArr); //["apple", "banana", "grape"]

总结

以上是JavaScript中处理重复元素的一些实现方法,其中统计个数、计算和去重复都是常见的需求,选择哪种方法主要取决于具体场合和需求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript重复元素处理方法分析【统计个数、计算、去重复等】 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JavaScript为内置对象添加原型方法实现

    JavaScript内置对象是指在语言中预定义的构造函数和可用于JavaScript中的全局对象。这些内置对象包括字符串(String)、数值(Number)、日期(Date)、正则表达式(RegExp)等。在该对象的原型(prototype)上定义一个新的方法的过程可以被称为“为内置对象添加原型方法”。 下面是一个完整的攻略,用于向内置对象添加原型方法: …

    JavaScript 2023年6月10日
    00
  • JS实现的简单折叠展开动画效果示例

    下面是JS实现的简单折叠展开动画效果的攻略: 什么是折叠展开动画效果? 折叠展开动画效果是一种常见的页面交互设计,通过点击或者鼠标悬浮事件,展开或折叠相应的内容区域,给用户更好的使用体验。 实现流程 准备HTML结构,在需要折叠展开的区域加入相应的class; 使用CSS定义默认状态和展开状态的样式,并为相应的class设置过渡效果; 编写事件监听函数,在用…

    JavaScript 2023年5月28日
    00
  • JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)

    下面是详细讲解: 1. JQuery form表单提交前验证单选框是否选中 步骤1:给表单元素设置id属性 在HTML表单中添加id属性,例如: <form id="myForm"> <!– 表单元素 –> </form> 步骤2:编写JQuery代码 使用JQuery库完成表单验证功能,代码如下:…

    JavaScript 2023年6月10日
    00
  • Bootstrap零基础学习第一课之模板

    那么我们来详细讲解一下 “Bootstrap零基础学习第一课之模板” 的完整攻略。 简介 Bootstrap 是 Twitter 推出的一个用于前端页面开发的框架,使用 Bootstrap 可以快速搭建出漂亮的响应式页面,很多网站都采用了 Bootstrap。Bootstrap 因其易学易用和功能强大而备受欢迎,是很多前端工程师的必备技能之一。 在开始我们的…

    JavaScript 2023年5月19日
    00
  • 深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解

    让我来详细讲解一下“深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解”的攻略。 1. 什么是接口隔离原则(ISP) 接口隔离原则(Interface Segregation Principle,简称ISP),是S.O.L.I.D设计原则中的第四个原则。它指出“客户端不应该依赖于它不需要的接口”。简单来说,一个类应该…

    JavaScript 2023年5月28日
    00
  • JavaScript 字符串与数组转换函数[不用split与join]

    下面是“JavaScript 字符串与数组转换函数[不用split与join]”的完整攻略。 为什么不用split和join 在讲解字符串与数组转换函数之前,我们先来谈谈为什么要不用split和join。split和join是JavaScript中常用的字符串与数组转换函数,但是在某些场景下,特别是在大数据量时,使用这两个函数会影响效率,因此需要考虑其他的转…

    JavaScript 2023年5月28日
    00
  • javascript异步编程

    下面我会来详细讲解“JavaScript 异步编程”的完整攻略,包括基本概念、异步编程方式、回调函数、Promise、async/await 等。 基础概念 在学习异步编程之前,我们需要了解以下几个基础概念: 同步代码 同步代码指的是按照代码的书写顺序,依次执行的代码,一行代码的执行需要等待上一行代码的执行完成。 console.log(‘start’); …

    JavaScript 2023年5月18日
    00
  • JS组件Bootstrap Table表格行拖拽效果实现代码

    Bootstrap Table是一个基于Bootstrap框架的网页表格插件,它提供了丰富的功能和灵活性,适合用于展示和处理大量数据。在Bootstrap Table中,通过行拖拽可以实现多个行的交换和排序,能够提供更方便快捷的用户体验。下面是实现Bootstrap Table表格行拖拽效果的完整攻略。 1. 安装Bootstrap Table和相关插件 首…

    JavaScript 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部