【问题标题】:How to remove first and last elements of array? [duplicate]如何删除数组的第一个和最后一个元素? [复制]
【发布时间】:2020-02-04 15:53:21
【问题描述】:
const myOldArr = [2, 3, 6];
const newArr = myOldArr.pop().shift();

为什么这样做会给我一个 TypeError?有没有办法在没有循环的情况下做到这一点?我希望将新数组存储在变量中,以便将未删除的剩余数字存储在某种数组中。

【问题讨论】:

标签: javascript


【解决方案1】:

单独使用

Array.pop()Array.shift() 将返回一个数组值 你试图在数字 6 中使用 shift 所以它会抛出错误

const myOldArr = [2, 3, 6];
myOldArr.pop();//last 
myOldArr.shift();//first
console.log(myOldArr)

【讨论】:

  • 我知道,但我想把剩余的数字放在一个单独的数组中
  • 请编辑您的答案并明确写出您的期望。
【解决方案2】:

.pop() 返回数组的最后一个元素,因此.shift() 不起作用,

如果您想保留myOldArr 并创建一个没有第一个和最后一个元素的新元素,您可以使用.slice(1, -1) 来做到这一点:

const myOldArr = [2, 3, 6];
const myNewArr = myOldArr.slice(1, -1);
console.log(myNewArr);

或者,如果您不介意修改原始数组,您可以通过不链接这两种方法来做到这一点:

const myOldArr = [2, 3, 6];
myOldArr.pop()
myOldArr.shift();
console.log(myOldArr);

【讨论】:

    猜你喜欢
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    相关资源
    最近更新 更多