请补全JavaScript代码,要求去除数组参数中的重复数字项并返回该数组。
注意:
1. 数组参数仅包含数字
const _deleteRepeat = array => { // 补全代码 return array.filter((el,index) => { return array.findIndex(item => el == item) == index }) }
<script type="text/javascript"> const _deleteRepeat = array => { // 补全代码 var newArray=[]; for(var item of array){ if(newArray.indexOf(item)==-1){ newArray.push(item); } } return newArray; } </script>
const _deleteRepeat = array => { // 补全代码 let obj={} for(let i of array){ obj[i]=i } return Object.values(obj) }这种为什么实际输出结果是null
//-----------------1. ES6的set方法 const _deleteRepeat = array => { return Array.from(new Set(array)) } //-----------------2. 利用indexOf const _deleteRepeat = array => { let res =[] array.forEach(item=>{ if(res.indexOf(item)=== -1) res.push(item) }) return res } //-----------------3. 利用includes const _deleteRepeat = array => { let res =[] array.forEach(item=>{ if(!res.includes(item)) res.push(item) }) return res } //-----------------4. 利用filter,filter返回符合条件的元素组成的数组。 const _deleteRepeat = array => { return array.filter((item,index)=>{ return array.indexOf(item)===index }) } //-----------------5. 算法:双重for循环 const _deleteRepeat = array => { let len =array.length for(let i=0;i<len;i++){ for(let j=i+1;j<len;j++){ if(array[i]===array[j]){ array.splice(j,1) //在j的位置删除一个元素,即删除j j-- //因为删除了一个元素,所以j要往前一位 len-- //减少循环次数,提高效率 } } } return array }