方法一:用第三方庫underscore裡的方法,方便快捷
方法二:用es6的set方法,set方法的特點是元素不能重複
方法三:indexof方法,如果不包含這個元素,返回-1
方法四:陣列的filter過濾方法和indexof方法結合
方法五:利用物件的key值的唯一性,object.keys將乙個物件中的key值全部取到乙個陣列裡,此時陣列中的item都是string格式的,要轉換為數字
方法六:先陣列排序,相等的元素肯定會排在一起,比較相鄰的兩個元素,不相等的話,push到新陣列裡
方法七:兩層for迴圈,用乙個陣列元素和其後面的所有元素比較,相同的不push,不相同的push到新陣列
// //方法一:用第三方庫underscore裡的方法,方便快捷
// var arr = [2,4,5,6,2,4,5,7,8,9,100,300]
// function getuniqarray()
// getuniqarray() //[2, 4, 5, 6, 7, 8, 9, 100, 300]
//方法二:用es6的set方法,set方法的特點是元素不能重複
// var arr = [2,4,5,6,2,4,5,7,8,9,100,300]
// function getuniqarray() ,要用array.from轉變為陣列,展開運算子也可以[...new set(arr)]
// console.log(result)
// }
// getuniqarray() //[2, 4, 5, 6, 7, 8, 9, 100, 300]
//方法三:indexof方法,如果不包含這個元素,返回-1
// var arr = [2,4,5,6,2,4,5,7,8,9,100,300]
// function getuniqarray()
// })
// console.log(result)
// }
// getuniqarray() //[2, 4, 5, 6, 7, 8, 9, 100, 300]
//方法四:陣列的filter過濾方法和indexof方法結合
// var arr = [2,4,5,6,2,4,5,7,8,9,100,300]
// function getuniqarray() )
// console.log(result)
// }
// getuniqarray() //[2, 4, 5, 6, 7, 8, 9, 100, 300]
//方法五:利用物件的key值的唯一性,object.keys將乙個物件中的key值全部取到乙個陣列裡,
//此時陣列中的item都是string格式的,要轉換為數字
// var arr = [2,4,5,6,2,4,5,7,8,9,100,300]
// function getuniqarray()
// arr.foreach((item,index) => )
// result = object.keys(result).map(item => parseint(item))
// console.log(result)
// }
// getuniqarray() //[2, 4, 5, 6, 7, 8, 9, 100, 300]
//方法六:先陣列排序,相等的元素肯定會排在一起,比較相鄰的兩個元素,不相等的話,push到新陣列裡
// var arr = [2,4,5,6,2,4,5,7,8,9,100,300]
// function getuniqarray()
// }
// //result排序一下
// result = result.sort((a,b)=>)
// console.log(result)
// }
// getuniqarray() //[2, 4, 5, 6, 7, 8, 9, 100, 300]
//方法七:兩層for迴圈,用乙個陣列元素和其後面的所有元素比較,相同的不push,不相同的push到新陣列
var arr = [2,4,5,6,2,4,5,7,8,9,100,300]
function getuniqarray()
}result.push(arr[i])
}console.log(result)
}getuniqarray() //[6, 2, 4, 5, 7, 8, 9, 100, 300]
第六種和第七種方法現在很少用了,但是面試的時候還是要回答出來,考察演算法
僅記錄
陣列去重方法
1 es6提供了新的資料結構set,它類似於陣列,但是成員的值是唯一的,沒有重複的值。let arr 1,2,5,2,3,4,1,2,3,5,4,1,2,3,2,1,1,1,asd 123 123 123 asd 1,true,true,false console.log new set arr 或...
陣列去重方法
雙迴圈去重 雙重 for 或 while 迴圈是比較笨拙的方法,它的實現原理很簡單 先定義乙個包含原始陣列第乙個元素的陣列,然後遍歷原始陣列,將原始陣列中的每個元素與新陣列的每個元素進行比較,如果不重複則新增到新的陣列中,最後返回新的陣列,其缺點是如果陣列長度很長,那麼將會非常消耗記憶體 funct...
陣列去重方法
1.使用原生的filter和indexof來進行過濾和篩選。var filtered data.filter function item,index 複製 使用filter的第三個引數繫結this的值 var filtered2 data.filter function item,index,sel...