这篇文章主要介绍了两个数组去重的 JS 代码,有需要的朋友可以参考一下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
第一种:
- function unique (arr){
- var obj = {},newArr = [];
- for(var i = 0;i < arr.length;i++){
- var value = arr[i];
- if(!obj[value]){
- obj[value] = 1;
- newArr.push(value);
- }
- }
- return newArr;
- }
这个方法把数组的值存入对象,所以,在数组存在对象队员的时候,运行失败(对象作为对象的键会被转化为字符串)。
第二种方法:
- function unique (arr){
- for(var i = 0;i < arr.length;i++){
- for(var j = i+1;j < arr.length;j++){
- if(arr[i] === arr[j]){
- arr.splice(j,1);
- j--}
- }
- }
- return arr;
- }
即使传入的数组包含对象,这个方法也支持,注意'===',但是使用了嵌套循环,性能会劣于第一种方法。
来源: