let a = [1, 2, 3];
let b = a.shift(); console.log(a);
// [2, 3] console.log(b);
// 1

 

返回值

从数组中删除的元素; undefined 如果数组为空。

语法

arr.shift()

 

描述

shift 方法移除索引为 0 的元素(即第一个元素),并返回被移除的元素,其他元素的索引值随之减 1。如果 length 属性的值为 0 (长度为 0),则返回 undefined

shift 方法并不局限于数组:这个方法能够通过 call 或 apply 方法作用于类似数组的对象上。但是对于没有 length 属性(从0开始的一系列连续的数字属性的最后一个)的对象,调用该方法可能没有任何意义。

示例

移除数组中的一个元素

let myFish = ['angel', 'clown', 'mandarin', 'surgeon'];

console.log('调用 shift 之前: ' + myFish);
// "调用 shift 之前: angel,clown,mandarin,surgeon" var shifted = myFish.shift(); console.log('调用 shift 之后: ' + myFish);
// "调用 shift 之后: clown,mandarin,surgeon" console.log('被删除的元素: ' + shifted);
// "被删除的元素: angel"

  以上代码显示了删除其第一个元素之前和之后的myFish数组。它还显示已删除的元素。

shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。的更多相关文章

  1. JavaScript从数组中删除指定值元素的方法

    本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个 ...

  2. PHP从数组中删除元素的方法

    PHP从数组中删除元素的方法 本篇文章主要介绍了PHP从数组中删除元素的四种方法实例 删除一个元素,且保持原有索引不变 使用 unset 函数,示例如下: 1 2 3 4 5 <?php   $ ...

  3. PHP从数组中删除元素的四种方法实例

    PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...

  4. js数组之从数组中删除元素

    使用pop()这个函数可以从数组中删除末尾的元素,shift方法可以删除数组中第一个元素.这些都是js中自带的函数,如果不使用这些函数的话,自己写的代码效率会很低的. <html> < ...

  5. ES6数组中删除指定元素

    知识点: ES6从数组中删除指定元素 findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引.否则返回-1. arr.splice(arr.findIndex(item => ...

  6. php数组中删除元素之重新索引

    如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊 <?php $arr = array('a','b','c','d'); unset($arr[1]); ...

  7. splice从数组中删除指定定数据

    /*从数组中删除指定定数据var somearray = ["mon", "tue", "wed", "thur"]so ...

  8. arts打卡 从排序数组中删除重复项

    Algorithm 从排序数组中删除重复项     给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组 ...

  9. [LeetCode] 80. Remove Duplicates from Sorted Array II ☆☆☆(从有序数组中删除重复项之二)

    https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/discuss/27976/3-6-easy-lines-C% ...

随机推荐

  1. IIS7 伪静态 web.config 配置方法

    <rule name="Redirect" stopProcessing="true"> <match url=".*" ...

  2. 踩坑rosbag --clock

    将rosbag的数据feed给lego-loam,输出地图.另外写了一个滤波节点,订阅地图,进行滤波操作,再发布出来. 由于输入给lego-loam的数据来自于rosbag,所以需要rosbag提供时 ...

  3. 【C++】源自指针的报错

    最近在调试PCL程序的时候,被这个报错折腾了好久. 无数血泪史总结成一句话,指针未初始化! PointCloudXYZ::Ptr plane_ptr;   错误!!! PointCloudXYZ::P ...

  4. 【Centos】Postgresql连接测试(Perl和Ruby)

    Centos安装了PostgreSQL之后,将考虑如何让Perl与Ruby连接它. Perl连接方式 1,安装Perl的数据库连接包 perl-DBD-Pg perl-DBI yum install ...

  5. 复制虚拟机vmware centos搭建集群节点过程中网络配置eth0和eth1遇到的问题以及NAT模式下虚拟机静态IP配置方法

    在centos中安装完第一个虚拟机后,一般习惯通过克隆的方式创建其它虚拟机,开后vmware无法发现网卡信息,系统认为这是重新安装,所以重新创建了一个新的网卡叫eth1. 并且用IFCONFIG-a查 ...

  6. bzoj5104: Fib数列

    Description Fib数列为1,1,2,3,5,8... 求在Mod10^9+9的意义下,数字N在Fib数列中出现在哪个位置 无解输出-1 Input 一行,一个数字N,N < = 10 ...

  7. PyCharm激活(License server)

    打开激活窗口 选择 Activate new license with: License server (用license server 激活) 在 License sever address 处填入 ...

  8. 用Python抓取网页并解析

    软件版本 python:2.7.12 网页抓取库 网页抓取库为requests, github地址为:https://github.com/requests/requests, 文档地址为:http: ...

  9. 利用MYSQL的函数实现用户登录功能,进出都是JSON(第二版)

    利用MYSQL的函数实现用户登录功能,进出都是JSON(第二版) CREATE DEFINER=`root`@`%` FUNCTION `uc_session_login`( `reqjson` JS ...

  10. Tree Traversals Again

    An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example ...