高效數組去重

1.Array.filter() + indexOf

function distinct(arr) {
	return arr.filter((item, index) => {
		return arr.indexOf(item) == index
	})
}

2.Array.sort()

利用sort將數組排序,比較相鄰元素是否相同,從而排除重複項

function distinct(arr) {
	let arr = arr.sort()
	let result = [arr[0]]
	for (let i = 1, len = arr.lenth; i < len; i++) {
	arr[i] !== arr[i-1] && result.push(arr[i])
	}
}

3.new Set()

function distinct(arr) {
	return Array.form(new Set(arr))
}

4.for…of + Object

function distinct(arr) {
	let result = {}
	let obj = {}
	for (let i of arr) {
		if (!obj[i]) {
			result.push(i)
			obj[i] = 1
		}
	}
	return result
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章