20、数组去重的三种方法
2024-02-27 18:38:00 0 举报
AI智能生成
数组去重的三种方法
作者其他创作
大纲/内容
双FOR循环
原理
依次遍历数组中的每一项,拿当前项和其“后面”的每一项进行比较,如果后面中有和他相同的,则说明这项是重复的,我们把后面中重复的这一项删除掉即可
缺点
循环次数多,性能不好
对象的键值对方式
原理
利用对象中属性名不能重复的特点,先建立一个空对象,然后依次循环数组中的每一项,把此项作为obj对象的属性名和属性值,在添加的时候,如果这个属性名对应的值已经存在,说明此项重复,删除掉此项
优点
只有一个循环,所以性能很好
缺点
1.如果数组中出现对象则存在问题(因为对象的属性名不能是对象,遇到会转换为字符串)
2.如果数组中存在数字 10 和字符串 '10' ,则也会认为是重复的(对象中的属性名是数字和字符串没啥区别)
3.数组中的值如果是 undefined 可能也会出现问题....
indxOf检测的方式
原理
创建一个新数组,遍历原数组,如果新数组中没有那一项的话,就把它push进去
缺点
indexOf低版本浏览器不兼容
0 条评论
下一页