1.利用对象属性的特性去重
function delRepeat1(item){ var newArr = []; var temp = {}; for(var i = 0; i < item.length; i++){ if(!temp[item[i]]){ newArr.push(item[i]); temp[item[i]] = 66; } } return newArr; }
2. 利用ES6的Array.from将Set结构转换成数组
function delRepeat2(item) { return Array.from(new Set(item)); }3.双层for循环
function delRepeat3(item) { var newArr = []; for (var i = 0; i < item.length; i++) { var repeat = false; for (var j = 0; j < newArr.length; j++) { if (item[i]===newArr[j]) { repeat = true; break; } } if (!repeat) { newArr.push(item[i]) } } return newArr }4.利用indexof()、lastIndexOf()方法
function delRepeat4_1(item) { var newArr = [item[0]]; for(var i=1;i<item.length;i++){ if(newArr.indexOf(item[i]) == -1){ newArr.push(item[i]); } } return newArr; }
function delRepeat4_2(item) { var newArr = []; for(var i=0; i<item.length; i++){ newArr.lastIndexOf(item[i]) !== -1 ? '' : newArr.push(item[i]); } return newArr; }