javascript - 如何删除数组中的前几个和最后几个元素并保留其余部分

标签 javascript arrays

一直在看arr.splice()但这似乎不是我所追求的。基本上,我需要“拼接”一个范围,即:

let arr = [1,2,3,4,5,6,7,8,9,10];

我需要返回一个新的数组:

const newA = [1,2,3]
const newB = [4,5,6]
const newC = [7,8,9]

当然arr.splice()可以实现first和last,但是如何实现类似newB的东西呢?

用简单的英语来说,“删除数组中的第一个 n 索引和 n 最后一个索引 (arr) 并给我rest"应该是 newB

最佳答案

优普旺旺slice不拼接(如果你想在一次调用中完成)。

console.log([1,2,3,4,5,6,7,8,9,10].slice(3, 6));

此外,slice 返回一个新数组,splice 只是改变原来的数组。


消除歧义..

如果你想删除最后的 n 项和前 y 项,你可以考虑定义这个函数..

var a = [1,2,3,4,5,6,7,8,9,10];
const newA = arrayTrim(a, 0, 7);
const newB = arrayTrim(a, 3, 4)
const newC = arrayTrim(a, 6, 1);

console.log(newA, newB, newC);

function arrayTrim(array, first=0, last=0){
  last = !last ? undefined : -last;
  return array.slice(first, last)
}

如果你想从第 n 个索引开始并从数组中获取 y 个项目,你可以使用这个..

var a = [1,2,3,4,5,6,7,8,9,10];
const newA = arrayTrim(a, 0, 3);
const newB = arrayTrim(a, 3, 3)
const newC = arrayTrim(a, 6, 3)

console.log(newA, newB, newC);

function arrayTrim(array, first, length){
  return array.slice(first, length+first)
}

关于javascript - 如何删除数组中的前几个和最后几个元素并保留其余部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48346486/

相关文章:

c结构数组的cython内存 View

javascript - puppeteer : console. 登录评估触发器错误 "Unhandled promise rejection"

javascript - Webpack 未构建 SCSS

javascript - 在数组中,多个对象需要使用 javascript 将单个对象与总和值合并

java - 在玩家库存中堆叠元素(Java、Array/Arraylist)

javascript - 同一数组中的 javascript 对象之间的一对一关系 (AngularJS)

javascript - 使用两个不同的表和 Sequelize 一个接一个地运行查询(序列)

javascript - 如何使用 shuffle.js 响应式地调整图像大小?

javascript - 表单验证,对特定值进行异常处理

arrays - ruby 按长度排序数组,然后按字母顺序排序