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

yizhihongxing

当我们需要处理字符串或者数组数据的时候,有时候我们需要去重处理。下面是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日

相关文章

  • JavaScript箭头函数与普通函数的区别示例详解

    JavaScript中有两种定义函数的方式:普通函数和箭头函数。它们在语法和用法上有一些差异。在本文中,我们将通过两个示例来详细介绍箭头函数和普通函数之间的区别。 示例1:this 关键字 一个函数的 this 值取决于调用方式。 在普通函数中,this 关键字根据函数被调用的方式动态绑定。而在箭头函数中,它会捕获它所在上下文的 this 值,而不是动态绑定…

    JavaScript 2023年5月27日
    00
  • JavaScript DOMContentLoaded事件案例详解

    让我们来详细讲解一下JavaScript DOMContentLoaded事件的完整攻略。 什么是DOMContentLoaded事件? DOMContentLoaded是Document对象的事件,当DOM树加载完成并且CSS和JavaScript文件都已经解析执行完毕之后,就会触发该事件。与load事件不同,DOMContentLoaded事件是在页面的…

    JavaScript 2023年6月10日
    00
  • JavaScript实现简单的数字倒计时

    下面我将详细讲解JavaScript实现简单的数字倒计时的完整攻略。 1. 实现思路 倒计时可以理解为是一段时间(比如30秒钟)的逆向计时,因此要实现数字倒计时,我们需要知道以下几个东西: 终止时间(即倒计时结束时间) 当前时间 剩余时间(即终止时间减去当前时间) 有了以上三个数据,我们就可以通过JavaScript来实现数字倒计时,具体步骤如下: 获取元素…

    JavaScript 2023年5月27日
    00
  • JavaScript对IE操作的经典代码(推荐)

    下面是关于“JavaScript对IE操作的经典代码(推荐)”的完整攻略。 1.什么是JavaScript对IE的操作? 在IE浏览器中,有一些功能和方法是IE浏览器所特有的,而这些方法和功能在其他浏览器上可能不支持或者支持的方式不同。JavaScript对IE的操作,就是指通过JavaScript在IE浏览器中调用这些特有的方法和功能,以实现一些特殊的需求…

    JavaScript 2023年5月18日
    00
  • JS实现的数组去除重复数据算法小结

    JS实现的数组去除重复数据算法小结 1. 利用Set去重 使用Set集合可以简便地去除数组中的重复元素,具体步骤如下: 定义一个Set集合 使用Array.from()方法将数组转换为一个新的Set集合 下一步,我们需要将Set集合转换为数组,使用Array.from()方法即可 示例代码: function unique(arr) { return Arr…

    JavaScript 2023年5月28日
    00
  • 分享5个好用的javascript文件上传插件

    下面是分享5个好用的JavaScript文件上传插件的攻略: 1. 收集并比较不同的插件 JavaScript文件上传插件有很多,但是并不是所有插件都适合你的项目。因此,可以先收集一些常用的插件,并对它们进行评估和比较,以找到最适合你的项目的插件。下面是一些优秀的JavaScript文件上传插件: Dropzone.js Blueimp jQuery Fil…

    JavaScript 2023年5月27日
    00
  • JSP对URL链接中的中文乱码处理方法总结

    下面我将为您详细讲解“JSP对URL链接中的中文乱码处理方法总结”的完整攻略。 一、问题背景 在JSP中,当我们需要传递中文参数时,URL链接中的中文会出现乱码。这是因为URL中只支持ASCII码,而中文字符不属于ASCII码范围内。因此需要对中文参数进行编码处理,以保证URL链接能够正确传递中文参数。 二、解决方案 1、使用URLEncoder/URLDe…

    JavaScript 2023年5月19日
    00
  • JavaScript Base64编码和解码,实现URL参数传递。

    首先我们需要了解什么是Base64编码。Base64编码是将二进制数据通过特定算法转换成文本字符串的一种编码方式。在浏览器中使用Base64编码的最常见场景就是在URL中传递参数,因为URL中不能包含某些字符,Base64编码后的字符串是可以安全传递的。 接下来我们讲一下如何使用JavaScript进行Base64编码和解码。 在JavaScript中,我们…

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