🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

Array - shank

2019-06-05

描述

Array.prototype.splice() 有着同样的功能,但是需要返回新数组来替代对原始数组的修改。

提示

  • 使用 Array.prototype.slice() 和 Array.prototype.concat() 来获取移除存在的元素并且(或者)添加新元素后的新数组内容。
  • 第二个参数为 index, 默认从 0 开始
  • 第四个元素为 elements,默认不添加新元素

代码

const shank = (arr, index = 0, delCount = 0, ...elements) =>
  arr
    .slice(0, index)
    .concat(elements)
    .concat(arr.slice(index + delCount));

示例

保持原数组不变的情况下,对其进行 splice

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']

返回总目录

每天 30 秒系列之 JavaScript 代码


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步