<body>
<script>
var arr = [1, 2, 3, 4, 3, 2, 1, 2, 3, 4, 5, 6, 4, 3, 2, 1, 2]
// 4. new Set()
// - es6 新增的一个数据格式,类似于一个数组
// - 不允许存储重复的值
// var a = [...new Set(arr)]
// console.log(a)
// 3. 利用一个对象不重名的特点
// var obj = {}
// var newArr = []
// for (var i = 0; i < arr.length; i++) {
// obj[arr[i]] = '随便'
// }
// // 遍历对象,每一个 key 添加到新数组里面
// for (var key in obj) {
// newArr.push(key - 0)
// }
// console.log(newArr)
// 2. 先排序,判断相邻的两个是否一样,如果一样干掉一个
// arr.sort(function (a, b) { return a - b })
// for (var i = 0; i < arr.length; i++) {
// // 判断前一个和后一个是否一样
// // 前一个 arr[i]
// // 后一个 arr[i+1]
// if (arr[i] === arr[i+1]) {
// // 去掉一个
// arr.splice(i, 1)
// i--
// }
// }
// console.log(arr)
// 1. 准备一个新的数组,遍历 arr ,如果新数组里面没有,那么就添加有就什么也不做
// indexOf 方法,如果you就返回索引,如果没有就返回 -1
// const newArr = []
// for (var i = 0; i < arr.length; i++) {
// // 先判断一下 newArr 里面有没有 1
// // 先判断一下 newArr 里面有没有 2
// // 先判断一下 newArr 里面有没有 3
// // 先判断一下 newArr 里面有没有 4
// // 先判断一下 newArr 里面有没有 3
// if (newArr.indexOf(arr[i]) === -1) {
// newArr.push(arr[i])
// }
// }
// console.log(newArr)
</script>
</body>