//借助indexOf()方法判断此元素在该数组中首次出现的位置下标与循环的下标是否相等
方法一:
function removeDuplicatedItem(arr) {
for (var i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) != i) {
arr.splice(i,1);//删除数组元素后数组长度减1后面的元素前移
i--;//数组下标回退
}
}
return arr;
}
方法二:
//IndexOf在某些IE版本中是不兼容的,先判断Array是否有indexOf方法,如果没有就扩展出此方法
if (!Array.indexOf) {
Array.prototype.indexOf = function (obj) {
for (var i = 0; i < this.length; i++) {
if (this[i] == obj) {
return i;
}
}
return -1;
}
}
var norepeatList=[]; //新建一个数组来保存
for(var i=0,len=stocklist.length;i<len;i++){ //stocklist为需要去重的数组
if(norepeatList.indexOf(stocklist[i])==-1){
norepeatList.push(stocklist[i]);
}
}