第一种:复制代码 代码如下:function unique (arr){ var obj = {},newArr = []; for(var i = 0;i var value = arr[i]; if(!obj[value]){ obj[value] = 1; newArr.push(value); } } return newArr;}这个方法把数组的值存入对象,所以,在数组存在对象队员的时候,运行失败(对象作为对象的键会被转化为字符串)。第二种方法:复制代码 代码如下:function unique (arr){ for(var i = 0;i for(var j = i+1;j if(arr[i] === arr[j]){ arr.splice(j,1); j--} } } return arr;}即使传入的数组包含对象,这个方法也支持,注意‘===',但是使用了嵌套循环,性能会劣于第一种方法。
09-15 15:53