Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。
序列开始替换的目标位置,以 0 为起始的下标表示,且将被转换为整数
要复制的元素序列的起始位置,以 0 为起始的下标表示,且将被转换为整数
要复制的元素序列的结束位置,以 0 为起始的下标表示,且将被转换为整数。copyWithin 将会拷贝到该位置,但不包括 end 这个位置的元素。
改变后的数组。
copyWithin() 方法的工作原理类似于 C 和 C++ 的 memmove,是一种移动数组数据的高性能方法,与 TypedArray 的同名方法类似。序列在一次中操作被复制和粘贴;即使复制和粘贴区域重叠,粘贴的序列也将具有复制值。
copyWithin() 是修改方法。它不会改变 this 指向的对象(数组或类数组)的长度,但会更改其的内容,并在必要时创建新属性或删除现有属性。
copyWithin() 方法保留空槽。如果要复制的区域是稀疏的,则原来的空槽会被删除并被替换为拷贝的空槽。
copyWithin() 方法是通用的。它只期望 this 值具有 length 属性和整数键属性。虽然字符串也是类似数组的,但这种方法不适用于它们,因为字符串是不可变的。
copyWithin() 将保留空插槽。
copyWithin() 方法读取 this 的 length 属性,然后操作所涉及的整数索引。
| ECMAScript® 2027 Language Specification # sec-array.prototype.copywithin |
启用 JavaScript 以查看此浏览器兼容性表。