七种JS实现数组去重的方式_第1页
七种JS实现数组去重的方式_第2页
七种JS实现数组去重的方式_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七种JS实现数组去重的方式注意:以上去方式对NaN和undefined类型去重也是有效的,是因为NaN和undefined都可以被存储在Set中,NaN之间被视为相同的值(尽管在js中:NaN!==NaN)。

2.利用两层循环+数组的splice方法

通过两层循环对数组元素进行逐一比较,然后通过splice方法来删除重复的元素。此方法对NaN是无法进行去重的,因为进行比较时NaN!==NaN。

functionremoveDuplicate(arr){

letlen=arr.length

for(leti=0;ilen;i++){

for(letj=i+1;jlen;j++){

if(arr[i]===arr[j]){

arr.splice(j,1)

len--//减少循环次数提高性能

j--//保证j的值自加后不变

returnarr

constresult=removeDuplicate(arr)

console.log(result)//[1,2,'abc',true,false,undefined,NaN,NaN]

3.利用数组的indexOf方法

新建一个空数组,遍历需要去重的数组,将数组元素存入新数组中,存放前判断数组中是否已经含有当前元素,没有则存入。此方法也无法对NaN去重。

indexOf()方法:返回调用它的String对象中第一次出现的指定值的索引,从fromIndex处进行搜索。如果未找到该值,则返回-1。

functionremoveDuplicate(arr){

constnewArr=[]

arr.forEach(item={

if(newArr.indexOf(item)===-1){

newArr.push(item)

returnnewArr//返回一个新数组

constresult=removeDuplicate(arr)

console.log(result)//[1,2,'abc',true,false,undefined,NaN,NaN]

4.利用数组的includes方法

此方法逻辑与indexOf方法去重异曲同工,只是用includes方法来判断是否包含重复元素。

includes()方法:用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false。

functionremoveDuplicate(arr){

constnewArr=[]

arr.forEach(item={

if(!newArr.includes(item)){

newArr.push(item)

returnnewArr

constresult=removeDuplicate(arr)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论