<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>
原文:https://www.cnblogs.com/yummylucky/p/10703154.html