ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去。

Array.prototype.copyWithin(target, start = 0, end = this.length)

该函数有三个参数。

target:目的起始位置。

start:复制源的起始位置,可以省略,可以是负数。

end:复制源的结束位置,可以省略,可以是负数,实际结束位置是end-1。

例:

把第3个元素(从0开始)到第5个元素,复制并覆盖到以第1个位置开始的地方。

下面的红色块是复制目标的起始位置,黄色块为复制的源。

const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
arr1.copyWithin(1, 3, 6)
console.log('%s', JSON.stringify(arr1))

结果:

[1,4,5,6,5,6,7,8,9,10,11]

start和end都是可以省略。

start省略表示从0开始,end省略表示数组的长度值。

目标的位置不够的,能覆盖多少就覆盖多少。

const arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
arr2.copyWithin(3)
console.log('%s', JSON.stringify(arr2))

结果:

[1,2,3,1,2,3,4,5,6,7,8]

start和end都可以是负数,负数表示从右边数过来第几个。

const arr3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
arr3.copyWithin(3, -3, -2)
console.log('%s', JSON.stringify(arr3))

结果:

[1,2,3,9,5,6,7,8,9,10,11]

end

转载于:https://www.cnblogs.com/kongxianghai/p/7527177.html

ES6,Array.copyWithin()函数的用法相关推荐

  1. php copy array,ES6中Array.copyWithin()函数用法的详解

    ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去.下面重点给大家介绍ES6中Array.copyWithin()函数的用法,需要的 ...

  2. 【ES6】JS类的用法class

    [ES6]JS类的用法class 一.概述 二.构造函数constructor 三.静态方法与静态变量 查看更多ES6教学文章: 参考文献 引言:由于JS之前一直没有特有的class来定义类的语法,E ...

  3. 【ES6】Generator函数详解

    [ES6]Generator函数详解 一.Generator函数简介 基本概念 函数写法 yield关键字介绍 二.next方法的参数 三.for...of循环 四.关于普通throw()与Gener ...

  4. php error log 函数,php日志函数error_log如何使用 php日志函数error_log用法介绍

    php日志函数error_log如何使用?这篇文章主要介绍了php日志函数error_log用法,结合实例形式分析了php日志函数error_log相关的配置文件设置.函数功能.用法与使用注意事项,需 ...

  5. 浅述numpy中argsort()函数的用法

    浅述python中argsort()函数的用法 由于想使用python用训练好的caffemodel来对很多图片进行批处理分类,学习过程中,碰到了argsort函数,因此去查了相关文献,也自己在pyt ...

  6. python中split的用法取第二个分片_python中split()函数的用法

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(li ...

  7. numpy中where函数的用法

    numpy中where函数的用法 numpy.where(condition,x,y)--若满足condition,输出x,否则输出y. 举例: 例1:一维数组 >>> a = np ...

  8. java string()函数_转载java String.split()函数的用法详解

    转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...

  9. C++ sort函数的用法

    C++ sort函数的用法 STL有个排序函数sort,可以直接对数组和向量排序. 一.功能:给定区间所有元素进行排序 二.头文件: #include <algorithm> 三.sort ...

最新文章

  1. ARMed解决方案对DSP的战争
  2. 培育强人工智能的「ImageNet」:上海交大卢策吾组提出铰接物体知识库 AKB-48
  3. [codevs 1906] 最长递增子序列问题
  4. 数据仓库—stg层_手把手教你创建BI数据仓库STG层
  5. LSGO软件技术团队爬山活动
  6. reduce python3_python3中reduce函数的使用
  7. 树莓派 ubuntu gpio_树莓派学习笔记(一)输入输出GPIO
  8. Dubbo框架应用之(三)--Zookeeper注冊中心、管理控制台的安装及解说
  9. 25.Yii2 自动加载
  10. 花粉俱乐部服务器维护,花粉俱乐部打不开进不去怎么回事?花粉俱乐部加载数据失败怎么解决?...
  11. Android广播机制(1)
  12. SQL常用语句总结整理
  13. 微软启动Menlo计划;英特尔手机处理器上市(每日关注20100505)
  14. 谈谈超平面(hyperplane)
  15. 无法访问计算机0x80070035,出现错误代码0x80070035,无法访问共享文件夹,解决方法...
  16. 读书笔记:《图说区块链》
  17. static(静态变量,方法)
  18. 微信小程序点击--实现带字母索引的城市列表
  19. Python报错ModuleNotFoundError: No module named ‘concurrent‘
  20. 调研-笔记-基于生成对抗网络的恶意域名训练数据生成

热门文章

  1. math.h头文件中声明了常用的一些数学运算
  2. 安装已停止,原因是 ProjectType 值的目录不存在。对于您所安装的 Visual St...
  3. 《X86汇编语言:从实模式到保护模式》读书笔记之引言
  4. Tensorflow2.0与Tensorflow1.0的理解
  5. 【Let‘s Go】Go语言入门篇
  6. 从思维导图学习操作系统(二)
  7. JS:javaweb——a标签实现跳转并打开新窗口
  8. 利用FRIDA攻击Android应用程序(二)
  9. 学java的正确方法_学习Java编程 这10个技巧不容错过--中享思途
  10. C#socket之TCP开发详解(一)