JS实现字符串去重及数组去重的方法示例

当我们需要处理字符串或者数组数据的时候,有时候我们需要去重处理。下面是JS实现字符串去重及数组去重的方法:

字符串去重

JS实现字符串去重有以下方法:

方法一:Array.from + Set

我们可以先把字符串转换成数组,然后使用ES6新增的Set数据结构去重,最后在将其转换为字符串。

const str = "aabbcc";
const arr = Array.from(str);
const arr1 = [...new Set(arr)];
const str1 = arr1.join('');
console.log(str1); // "abc"

方法二:利用indexOf

我们也可以通过循环字符串的每个字符来得到去重后的字符串。如果当前字符不在新串中,就添加它。

const str = "aabbcc";
let str1 = "";
for (let i = 0; i < str.length; i++) {
  if (str1.indexOf(str.charAt(i)) == -1) {
    str1 += str.charAt(i);
  }
}
console.log(str1); // "abc"

数组去重

JS实现数组去重有以下方法:

方法一:利用Set

我们可以使用ES6新增的Set数据结构去重。通过创建一个新的Set对象,然后将数组转换为Set数据结构。最后再将Set转换回数组。

const arr = [1,2,2,3,4,4,5];
const arr1 = [...new Set(arr)];
console.log(arr1); // [1,2,3,4,5]

方法二:利用indexOf

我们也可以通过循环数组的每一个元素来得到去重后的数组。如果当前元素不在新数组中,就添加它。

const arr = [1,2,2,3,4,4,5];
let arr1 = [];
for (let i = 0; i < arr.length; i++) {
  if (arr1.indexOf(arr[i]) == -1) {
    arr1.push(arr[i]);
  }
}
console.log(arr1); // [1,2,3,4,5]

以上就是JS实现字符串去重及数组去重的方法。无论使用哪种方法,要能够写出行之有效的代码需要多多练习。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现字符串去重及数组去重的方法示例 - Python技术站

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

相关文章

  • js实现盒子拖拽动画效果

    实现盒子拖拽动画效果需要以下步骤: 1. 为拖拽目标元素绑定事件监听器 首先需要为需要拖拽的目标元素添加事件监听器,通常是mousedown事件或者touchstart事件。 let target = document.getElementById(‘drag-target’); target.addEventListener(‘mousedown’, dr…

    JavaScript 2023年6月10日
    00
  • JavaScript 事件流、事件处理程序及事件对象总结

    下面给出关于 JavaScript 事件流、事件处理程序及事件对象总结的详细攻略。 1. 事件流 事件流描述的是从页面中接收事件的顺序,分为三个阶段: 捕获阶段:事件从最外层的容器开始向下传递到目标元素。 目标阶段:事件到达目标元素。 冒泡阶段:事件从目标元素开始向上冒泡到最外层的容器。 在标准 W3C 的事件模型中,事件传递的顺序是从上往下的(捕获阶段)、…

    JavaScript 2023年5月27日
    00
  • js实现时分秒倒计时

    JS实现时分秒倒计时 实现思路 实现时分秒倒计时的基本思路如下: 获取倒计时结束时间并转换为时间戳 获取当前时间并转换为时间戳 计算差值并转换为时分秒格式 输出倒计时结果 启动定时器,每秒钟更新一次倒计时结果 代码实现 // 获取元素 const daysEl = document.getElementById(‘days’); const hoursEl …

    JavaScript 2023年5月27日
    00
  • 详解JS ES6编码规范

    详解JS ES6编码规范 ES6是JavaScript的一种新版本,提供了许多新的语言特性和功能。在编写JavaScript代码时,请遵循以下编码规范,以提高代码的质量和可读性。 代码风格和排版 使用缩进 使用两个空格进行缩进,而不是使用制表符或四个空格。这样可以确保代码在不同的编辑器或IDE中具有相同的外观。 使用括号 在if语句、循环和函数声明等结构中,…

    JavaScript 2023年5月20日
    00
  • Javascript Math tan() 方法

    JavaScript中的Math.SQRT2属性是一个常数,表示2的平方根。以下是关于Math.SQRT2属性的完整攻略,含两个示例。 JavaScript Math对象的SQRT2属性 JavaScript的SQRT2属性是一个常数,表示2的平方根。下面是SQRT2属性的语法: Math.SQRT2 下面是一个SQRT2属性的示例: console.log…

    JavaScript 2023年5月11日
    00
  • JS判断当前页面是否在微信浏览器打开的方法

    判断当前页面是否在微信浏览器打开的方法有多种,下面介绍其中比较常用的两种。 方法一: 使用”navigator.userAgent”判断当前浏览器的UserAgent是否包含”WeChat”关键词。 if(/micromessenger/.test(navigator.userAgent.toLowerCase())){ // 在微信浏览器中打开 }else…

    JavaScript 2023年6月11日
    00
  • js 数组操作之pop,push,unshift,splice,shift

    JS数组操作之pop, push, unshift, splice, shift 在JavaScript编程中,数组是重要的数据结构之一。这里将讲解JS中常用的5种数组操作方法——pop, push, unshift, shift和 splice。 1. pop pop()方法是用于移除并返回数组中的最后一个元素。它会改变原始的数组。 语法: arr.pop…

    JavaScript 2023年5月27日
    00
  • JavaScript对象学习小结

    下面是关于“JavaScript对象学习小结”完整攻略的详细讲解。 一、对象 JavaScript 中的对象是一组属性的集合,其中每个属性通过键与值相关联。可以通过多种方式创建对象。 1.1 对象的创建 可以使用对象字面量创建对象,对象字面量是一个逗号分隔的键值对的列表,放在花括号中。 例如: var student = { name: ‘Tom’, age…

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