RFC: add functional equivalent of `Array.prototype.copyWithin`
- 主要语言
- JavaScript
- 星标
- 6k
- 派生
- 1.3k
- 平均合并
- 1 天 3 小时
- 30 天内合并 PR
- 611
描述
## Checklist
> Please ensure the following tasks are completed before submitting a feature request.
- [x] Read and understood the [Code of Conduct][code-of-conduct].
- [x] Searched for existing issues and pull requests.
- [x] The issue name begins with `RFC:`.
## Description
> Description of the feature request.
This RFC proposes to add a "functional" equivalent of [`Array.prototype.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin) and [`TypedArray.prototype.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin).
Package: `@stdlib/utils/copy-within`
Alias: `copyWithin`
The interface would be as follows:
```javascript
/**
* @param {Collection} collection - input collection
* @param {integer} target - target index
* @param {integer} [start=0] - source start index
* @param {integer} [end=collection.length] - source end index
* @returns {Collection} modified input collection
*/
function copyWithin( collection, target ) {
if ( !isCollection( collection ) ) {
throw new TypeError( '...' );
}
// implementation...
}
```
If a provided `collection` has a built-in `copyWithin` method, the implementation would defer to that method. Otherwise, the implementation would provide a "polyfill", thus extending `copyWithin` support to environments lacking the built-in API for `Array` and `TypedArray`.
## Related Issues
> Does this feature request have any related issues?
No.
## Questions
> Any questions for reviewers?
No.
## Other
> Any other information relevant to this feature request? This may include screenshots, references, sample output, and/or implementation notes.
No.
[code-of-conduct]: https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md
贡献指南
调研方向
Start by reviewing the proposed @stdlib/utils/copy-within package interface and the linked Array.prototype.copyWithin and TypedArray.prototype.copyWithin references. Clarify the collection, index, delegation, and polyfill behavior; the work is done when the functional alias supports the stated API for the targeted collections.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- tooling
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100