数组去重的方法

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

<script>

    let arr = [1,1,"1","1",true,true,"true",{},{},"{}",null,null,undefined,undefined]

    // var set2 = new Set();

    // arr.forEach(item=>{

    //     set2.add(item)

    // })

    // console.log(set2)

    // console.log(Array.from(set2));

   

    let uniqueOne = Array.from(new Set(arr))   //简写

    console.log(uniqueOne)

    // 方法2

// let uniqueTwo = arr => {

//     let map = new Map(); //或者用空对象 let obj = {} 利用对象属性不能重复得特性

//     let brr = []

//     arr.forEach( item => {

//         if(!map.has(item)) { //如果是对象得话就判断 !obj[item]

//             map.set(item,true) //如果是对象得话就obj[item] =true 其他一样

//             brr.push(item)

//         }

//     })

//     return brr

// }

// console.log(uniqueTwo(arr))

// //方法3

// let uniqueThree = arr => {

//     let brr = []

//     arr.forEach(item => {

//         // 使用indexOf 返回数组是否包含某个值 没有就返回-1 有就返回下标

//         if(brr.indexOf(item) === -1) brr.push(item)

//         // 或者使用includes 返回数组是否包含某个值 没有就返回false 有就返回true

//         if(!brr.includes(item)) brr.push(item)

//     })

//     return brr

// }

// console.log(uniqueThree(arr))

//方法4

let uniqueFour = arr => {                                        

     // 使用 filter 返回符合条件的集合

    let brr = arr.filter((item,index) => {

        return arr.indexOf(item) === index

    })

    return brr

}

console.log(uniqueFour(arr))




 

</script>

</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值