2019-06-05 描述 和 Array.prototype.splice() 有着同样的功能,但是需要返回新数组来替代对原始数组的修改。 提示 使用 Array.prototype.slice() 和 Array.prototype.concat() 来获取移除存在的元素并且(或者)添加新元素后的新数组内容。 第二 ..

Array - shank

2019-06-05

描述

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

提示

代码

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 代码

  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    426 引用 • 1013 回帖 • 884 关注
  • 30Seconds

    精选的常见前端问题集,帮助您踏踏实实走好每一步。

    英文原文请看 30-seconds

    270 引用 • 284 回帖 • 1 关注
  • 代码
    195 引用 • 439 回帖 • 2 关注
回帖   
请输入回帖内容...