首页 > 其他分享 >短视频开发,领略数组去重这三招

短视频开发,领略数组去重这三招

时间:2024-09-07 09:02:50浏览次数:10  
标签:pre 三招 arrSrc const cur ret 领略 数组 return

短视频开发,领略数组去重这三招

在短视频运行过程中,需要对数据进行多种类型的处理,其中数据去重是不可忽视的一种,以下三种数组去重招数值得一学。

// 数组去重 并排序方案一
function case1(arrSrc) {
  const ret = arrSrc.reduce((pre, cur) => {
    if (!pre.includes(cur)) {
      pre.push(cur)
    }
    return pre // 不要少了这一行
  }, [])
  return customSort(ret)
}

 

// 数组去重并排序方案二
function case2(arrSrc) {
  const ret = Array.from(new Set(arrSrc))
  return customSort(ret)
}

 

// 数组去重并排序方案三
function case3(arrSrc) {
  const ret = []
  for (const i of arrSrc) {
    if (!ret.includes(i)) {
      ret.push(i)
    }
  }
  return customSort(ret)
}

function customSort(data) {
  return data.sort((a, b) => a - b)
}

function findOneInObject(data) {
  const result = []
  for (const item of Object.entries(data)) {
    if (item[1] === 1) {
      result.push(item[0])
    }
  }
  return result
}

// 找出数组中只出现一次的数
function case4(arrSrc) {
  const ret = arrSrc.reduce((pre, cur) => {
    if (cur in pre) {
      pre[cur] += 1
    } else {
      pre[cur] = 1
    }
    return pre // 不要少了这一行
  }, {})

  return findOneInObject(ret)
}


const arrSrc = [1, 1, 2, 2, 8, 3, 4, 4, 5, 5, 6, 8, 7, 7, 9]
console.log('case1=', case1(arrSrc))
console.log('case2=', case2(arrSrc))
console.log('case3=', case3(arrSrc))
console.log('case4=', case4(arrSrc))

 

以上就是短视频开发,领略数组去重这三招, 更多内容欢迎关注之后的文章

 

标签:pre,三招,arrSrc,const,cur,ret,领略,数组,return
From: https://www.cnblogs.com/yunbaomengnan/p/18401323

相关文章

  • 6.科学计算模块Numpy(3)对ndarray数组的常用操作
    引言众所周知,numpy能作为python中最受欢迎的数据处理模块,脱离不了它最核心的部件——ndarray数组。那么,我们今天就来了解一下numpy中对ndarray的常用操作。通过阅读本篇博客你可以:1.掌握ndarray数组的切片和copy2.学会如何改变ndarray的数组维度3.掌握数组的拼接一、ndar......
  • 字符数组练习题
    1、下列对 C语言字符数组的描述中错误的是( D ) A.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.不可以用关系运算符对字符数组中的字符串进行比较D.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值解析:D:不可以在赋值语句中通过赋......
  • 【数据结构和算法实践-位运算-找出数组中出现K次的数,其他数出现M次】
    位运算-找出数组中出现K次的数,其他数出现M次题目MyThought代码示例JAVA-8题目一个数组中,一个数出现了K次,另外其他的数出现了M次,找出出现K次的数MyThought一、设置一个长度为32的int[]temp,把arr中的每个数都变成2进制,放入temp中1、设置长度为32的int数组2......
  • Numpy中生成数组的常用方法
    目录1.np.arrage()2.np.arange()3.ones/empty/zeros函数4.np.randomnp.random.rand():np.random.random():np.random.randn()np.random.randint(low,high,size,dtype)np.random.uniform(low,high,size)np.linspace1.np.arrage()importnumpyasnp##下面两种结果相同......
  • 【python创建字符串数组的几种方式】
    在Python中可以使用以下几种方式创建字符串数组:一、使用列表(list)列表可以存储多个字符串,类似于其他语言中的数组。#创建一个包含多个字符串的列表string_array=['apple','banana','cherry']print(string_array)二、使用元组(tuple)元组与列表类似,但元组是不可......
  • 指针之旅(3)—— 指针 与 数组
    目录1.数组名的两种意义2. 指针访问数组(指针也能下标引用)3.一维数组传参的本质和sizeof在函数中失效的原因4.指针数组4.1指针数组的概念4.2一级指针数组4.3 一级指针数组模拟实现二维数组5.数组、指针 与字符串6.数组指针(变量)6.1数组指针的概念6.2......
  • 学会这三招,没人比你更快恢复聊天记录
    那些记录着生活点滴的微信对话,不仅仅是文字,更是情感的寄托和时间的见证。现代都市人在数字世界中寻找遗失记忆的缩影。它提醒我们,在享受科技带来的便利的同时,也要时刻警惕数据安全,珍惜那些通过屏幕传递的温暖与情感。我来告诉大家聊天记录不慎丢失了该如何恢复第一步打开手机......
  • [Python手撕]两个升序数组的中位数
    classSolution:deffindMedianSortedArrays(self,nums1:List[int],nums2:List[int])->float:nums1_len=len(nums1)nums2_len=len(nums2)deffind(nums1,nums2,k):#time.sleep(1)ifnotnums1:......
  • 使用itertools 中的groupby 对字典数组进行分组后排序
    有个需求需要对数据进行分组然后对分组后的组内数据继续排序fromitertoolsimportgroupby#示例数据data=[{'a':"攻击队1",'b':'张三','c':3},{'a':"攻击队1",'b':'张三1','c':1},......
  • C语言 10 数组
    简单来说,数组就是存放数据的一个组,所有的数据都统一存放在这一个组中,一个数组可以同时存放多个数据。一维数组比如现在想保存12个月的天数,那么只需要创建一个int类型的数组就可以了,它可以保存很多个int类型的数据,这些保存在数组中的数据,称为元素://12个月的数据全部保存......