
具有与 相同的功能 Array.prototype.splice() ,但返回一个新数组而不是改变原始数组。
- 删除现有元素和/或添加新元素后,使用 Array.prototype.slice() 和 Array.prototype.concat() 获取包含新内容的数组。
- 省略第二个参数 , index 从 0 开始。
- 省略第三个参数 , delCount 以删除索引为 0 的元素。
- 省略第四个参数 , elements 以便不添加任何新元素。
JavaScript
const shank = (arr, index = 0, delCount = 0, ...elements) =>
arr
.slice(0, index)
.concat(elements)
.concat(arr.slice(index + delCount));
示例:
const names = ['alpha', 'bravo', 'charlie'];
const namesAndDelta = shank(names, 1, 0, 'delta');
// [ 'alpha', 'delta', 'bravo', 'charlie' ]
const namesNoBravo = shank(names, 1, 1); // [ 'alpha', 'charlie' ]
console.log(names); // ['alpha', 'bravo', 'charlie']
更多内容请访问我的网站:https://www.icoderoad.com