首页 > 其他分享 >数组自定义unshift和去重

数组自定义unshift和去重

时间:2024-03-27 17:02:48浏览次数:28  
标签:arr const 自定义 unshift len length retArr 数组 return

arr = [1, 2, 4, 5]
arrObj = Object.assign([], arr)
//自定义实现数组 unshift
Array.prototype.myunshift = function (...eles) {
  const len = this.length
  for (let i = 1; i <= len; i++) {
    arr[i] = arrObj[i - 1]
  }
  var args = Array.from(eles);
  arr[0] = args.pop()
  arrObj = Object.assign([], this)
  if (args.length > 0) {
    this.length = len + 1
    this.myunshift(...args)
  }

  return len + arguments.length
}

Array.prototype.myunshift1 = function () {
  const len = arguments.length
  for (let i = len - 1; i >= 0; i--) {
    const ele = arguments[i]
    this.splice(0, 0, ele)
  }
  return this.length
}
// ret = arr.myunshift1(8, 7, 5)
// console.log(arr, ret)

arr1 = [1, 3, 4, 5, 7, 3, 5]
//数组去重
Array.prototype.myUnique = function () {
  //return Array.from(new Set(this))
  const retArr = []
  for (let i = 0; i < this.length; i++) {
    if (!retArr.includes(this[i])) {
      retArr.push(this[i])
    }
  }
  return retArr
}
console.log(arr1.myUnique())

  

标签:arr,const,自定义,unshift,len,length,retArr,数组,return
From: https://www.cnblogs.com/howhy/p/18099716

相关文章

  • 03-JavaScript数组
    1.通过直接量创建数组vararr=[1,2,3,'abc','true'];console.log(arr);2.通过构造函数来创建数组vararr2=newArray("张三","李四");console.log(arr2);vararr3=newArray(5);//数组长度console.lo......
  • JavaScript数组常用方法
    数组的常用方法有push(),unshift(),pop(),shift(),reverse(),sort(),splice(),concat(),join(),slice(),.....在工作中常用到的有增删改查,前增unshift,后增push(),前删shift(),后删pop(),修改指定元素splice(),查找indexOf(),lastindexof(),和ES6新增的数组方法forEach()、map()、filter()、r......
  • 每日一题 --- 数组中的第 K 个最大元素[力扣][Go]
    数组中的第K个最大元素题目:数组中的第K个最大元素给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。示例1:输入:[3,2,1,5,6,4]和k=2输出:5示例2:输入:[3,2,3,1,2......
  • 前缀和与差分数组
    目录一维前缀和二维前缀和差分数组差分数组反推出原始数组差分数组模板前缀和应用场景:原始数组不会被修改的情况下,频繁查询某个区间的累加和。eg:计算数组下标2到5的数组和,原本用for循环,有了前缀和直接用5的前缀和减去2的前缀和得到答案,可以将O(n)的复杂度降为O(1)一维前缀和......
  • WPF自定义Panel:让拖拽变得更简单
       在WPF应用程序中,拖放操作是实现用户交互的重要组成部分。通过拖放操作,用户可以轻松地将数据从一个位置移动到另一个位置,或者将控件从一个容器移动到另一个容器。然而,WPF中默认的拖放操作可能并不是那么好用。为了解决这个问题,我们可以自定义一个Panel来实现更简单的拖......
  • 如何使用极狐GitLab 自定义 Pages 根域名
    本文作者:徐晓伟GitLab是一个全球知名的一体化DevOps平台,很多人都通过私有化部署GitLab来进行源代码托管。极狐GitLab是GitLab在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。本文主要讲述了极狐GitLabPages使用独立于极狐GitLab的根域名。配置......
  • WPF中自定义按钮实现最大化最小化动画过度效果
    需要使用WindowsAPI[DllImport("user32.dll",EntryPoint="SetWindowLong")]privatestaticexternintSetWindowLong32(HandleRefhWnd,intnIndex,intdwNewLong);[DllImport("user32.dll",EntryPoint="SetWindowLongPtr"......
  • 【C语言】数组(一维、二维数组的简单介绍)
    数组(Array)数组概念数组是一组相同数据类型元素的集合,属于一种简单的数据结构,从中可以得到三个有效信息数组元素是同一数据类型的变量数组存放一个或者多个数据,但是数组元素个数不能为0数组中各元素可独立作为一个基本变量使用注:数组分为一维数组和多维数组,多维数组一......
  • C语言自定义类型结构体详解
    C语言中,有内置类型,也就是C语言本身支持的现成的类型,例如int,char,double,float等,当然,仅有内置类型是不够的,例如,我们想表示一个变量人,但是现有的类型不支持我们表示,因此,我们引入了自定义类型,自定义类型分为://结构体struct//枚举-enum //联合体-union现在,我们介绍......
  • Java数组(下)
    Java数组(下)多维数组多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组inta[][]=newint[2][5];//可以看成是一个两行五列的数组packagearray;publicclassArrayDemo05{publicstaticvoidmain(String[]args......