js 去重

set 去重

JavaScript中的Set数据结构是一种集合类型,它只存储唯一的值。当向Set中添加一个值时,它会先判断这个值是否已经存在于Set中,如果已经存在,则不会再次添加,否则会将这个值加入Set中。
Set是es6新增的数据结构,似于数组,但它的一大特性就是所有元素都是唯一的,没有重复的值,我们一般称为集合。

Array.from()

Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组

    let arr = [1, 2, 3, 4, 5, 1, 2, 3, 4]
    //new Set()生成出来的数据是Set数据结构,需要自行转换成对应结构
    console.log(new Set(arr));//Set(5) {size: 5, 1, 2, 3, 4, 5}
    //用展开运算符将类数组对象转换为真正数组
    console.log([...new Set(arr)]);//(5) [1, 2, 3, 4, 5]
    //Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组
    console.log(Array.from(new Set(arr)));//(5) [1, 2, 3, 4, 5]

includes()

includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

    //includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
    let list = ['a', 'a', 'b', 'b', 'c', 'c', 1, 2, 3, 4, 1, 2, 3]
    let newList = []
    list.forEach((item) => {
      // 空数组newList2 不包含item为false ,取反为true 执行数组添加操作
      // 如果数组包含了 item为true 取反为false 不执行数组添加操作
      if (!newList.includes(item)) {
        newList.push(item)
      }
    })
    console.log('newList', newList);//newList (7) ['a', 'b', 'c', 1, 2, 3, 4]

indexOf()

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配的字符串则返回 -1

   let list = ['a', 'a', 'b', 'b', 'c', 'c', 1, 2, 3, 4, 1, 2, 3]
    let newList1 = [];
    list.forEach((item) => {
      // 空数组newList1第一次循环没有找到匹配的item 返回-1  执行数组添加操作
      // 如果数组在第n次循环中找到了newList1数组中item 例如:item等于6 而在newList1数组中已经有9 所以indexOf就不等于-1  不执行数组添加操作
      if (newList1.indexOf(item) === -1) {
        newList1.push(item)
      }
    })
    console.log('newList1', newList1);

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值