【JavaScript 教程】第六章 数组20—pop() :从数组末尾删除一个元素

3ab36d5fc90a84407eef63c8d6215163.png

来源 | https://www.javascripttutorial.net/

翻译 | 杨小爱

在今天的文章教程中,我们将一起来学习如何使用 JavaScript Array pop() 方法从数组中删除最后一个元素。

JavaScript Array pop() 方法介绍

Array.prototype.pop() 方法从数组中移除最后一个元素并返回移除的元素, 下面是 pop() 方法的语法:

 
 
array.pop()

pop() 方法更改数组的长度属性,如果数组为空,pop() 将返回 undefined。

JavaScript pop() 方法示例

让我们举一些使用 pop() 方法的例子。

1) 使用 JavaScript 数组 pop() 方法删除数组的最后一个元素

以下示例使用 pop() 方法删除 numbers 数组的最后一个元素:

 
 
const numbers = [10, 20, 30];
const last = numbers.pop();


console.log(last); // 30
console.log(numbers.length); // 2

输出:

 
 
30
2

在此示例中,pop() 方法从 numbers 数组中删除数字 30。此外,它会将 numbers 数组的 length 属性的值减小到 2。

下图说明了 pop() 方法的工作原理:

3b668f8604b0c5cbe857041070cbe7bd.png

2) 对空数组使用 JavaScript 数组 pop() 方法

以下示例在空数组上调用 pop() 方法。在这种情况下,pop() 方法返回 undefined 并且数组的长度为零:

 
 
const numbers = [];
const last = numbers.pop();


console.log(last);
console.log(numbers.length);

输出:

 
 
undefined
0

对类数组对象使用 JavaScript pop() 方法

pop() 方法是通用的,因此,你可以使用 call() 或 apply() 来调用类数组对象的 pop() 方法。在内部,pop() 使用类数组对象的长度属性来确定要删除的最后一个元素。

请参见以下示例:

 
 
let greetings = {
  0: 'Hi',
  1: 'Hello',
  2: 'Howdy',
  length: 2,
  removeLast() {
    return [].pop.call(this);
  },
};


let greting = greetings.removeLast();


console.log(greting);
console.log(greetings);

输出:

 
 
'Howdy'


{
  '0': 'Hi',
  '1': 'Hello',
  length: 2,
  removeLast: [Function: removeLast]
}

这个怎么运作。

首先,定义有以下内容的问候对象:

四个属性 0、1、2 和长度。

一种方法 removeLast() 使用数组的 call() 方法来调用 pop() 方法。

其次,调用 greetings 对象的 removeLast() 方法:

 
 
let greting = greetings.removeLast();

第三,将移除的元素(greeting)和greetings对象输出到控制台:

 
 
console.log(greting);
console.log(greetings);

总结

  • 使用 pop() 方法删除数组的最后一个元素。

  • 使用 call() 或 apply() 在类数组对象上调用 pop() 方法。

相关教程

【JavaScript 教程】第六章 数组19—unshift() :将一个或多个元素添加到数组的开头

【JavaScript 教程】第六章 数组18—push() :将一个或多个元素添加到数组的末尾

【JavaScript 教程】第六章 数组17—flatMap() :对每个元素执行映射函数并将结果展平

【JavaScript 教程】第六章 数组16—flat() :递归地将数组展平到指定的深度

【JavaScript 教程】第六章 数组15—join() :将所有元素连接成一个字符串

【JavaScript 教程】第六章 数组14—reduce() :将数组的元素减少为一个值

【JavaScript 教程】第六章 数组13— forEach() :遍历数组元素

【JavaScript 教程】第六章 数组12— map() :转换数组元素

【JavaScript 教程】第六章 数组11— filter() :过滤数组中的元素

【JavaScript 教程】第六章 数组10— sort() :对数组中的元素进行排序

【JavaScript 教程】第六章 数组09— some() :检查数组中是否至少有一个元素通过了测试

【JavaScript 教程】第六章 数组08— every() :检查数组中的每个元素是否都通过了测试

【JavaScript 教程】第六章 数组07— index() :在数组中定位一个元素

【JavaScript 教程】第六章 数组06— slice() :复制数组元素

【JavaScript 教程】第六章 数组05— splice():删除、插入和替换

【JavaScript 教程】第六章 数组03— Stack :使用 Array 的push()和pop()方法实现堆栈数据结构

【JavaScript 教程】第六章 数组02— Array Length:如何有效地使用数组的长度属性

【JavaScript 教程】第六章 数组01— 介绍JavaScript中的Array类型

学习更多技能

请点击下方公众号

560dae52ec28890beb6856046f1f73de.gif

bbd42dd4328bcff0e4f9f37dc22d24f0.jpeg

3ca740987470f27a3c49a739dee5810e.png

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值