JavaScript splice 方法

splice 方法用于插入、删除或替换数组的元素。语法如下:

array_object.splice(start, num, element1, element1, ...)
参数说明:
参数 说明
array_object 要操作的数组(对象)
start 必需。开始添加/删除元素的下标数字。
num 可选。规定应该删除多少元素,数字。可以是 "0",如果省略则删除从 start 到原数组结尾的所有元素。
element1, ... 可选。规定从 start 处要添加到数组的新元素序列,使用 , 分隔多个元素。

如果从 array_object 中删除了元素,则返回的是被删除的元素的数组。

splice 方法删除元素实例

<script language="JavaScript">

var array_1 = new Array('a','b','c','d');
document.write( array_1.splice(1,2) + '<br />' );
document.write( array_1 ); </script>

运行该例子,输出:

b,c
a,d

注意:上面 splice 方法返回的是一个数组,该数组包含了被删除的 'b','c' 两个元素。

splice 方法插入元素实例

当 num 参数设置为 0 且 element1 等参数不为空时,将把 element1, ... 等元素插入 start 处。

<script language="JavaScript">

var array_1 = new Array('a','b','c','d');
document.write( array_1.splice(1,0,'tom') + '<br />' );
document.write( array_1 ); </script>

运行该例子,输出:

a,tom,b,c,d

可见在插入数组模式下,splice 方法不返回任何内容。

splice 方法替换元素实例

当 num 参数设置大于 0 且 element1 等参数不为空时,将把 element1, ... 等元素替换在被删除的数组处。这个过程我们可以看做是上面删除元素与插入元素的结合。

<script language="JavaScript">

var array_1 = new Array('a','b','c','d');
document.write( array_1.splice(1,2,'tom') + '<br />' );
document.write( array_1 ); </script>

运行该例子,输出:

b,c
a,tom,d

可见在替换模式下,返回的仍然是包含被删除的元素的数组,而将参数里的元素序列从删除的位置插入。

JavaScript shift 方法

shift 方法用于删除数组的第一个元素,并返回删除的元素值。语法如下:

array_object.shift( )

数组执行 shift 方法后,数组长度减 1 ,后面的元素(如果有的话)下标同时减 1 。如果数组已经为空,则数组不会被改变,shift 方法将返回 undefined。

pop 方法实例

<script language="JavaScript">

var array_1 = new Array('a','b','c');
document.write( array_1.shift() + '<br />' );
document.write( array_1 ); </script>

运行该例子,输出:

a
b,c

JavaScript unshift 方法

unshift 方法用于向数组的开头添加一个或多个元素,并返回新数组的长度。语法如下:

array_object.unshift( newelement1, newelement2, ... )
参数说明:
参数 说明
array_object 要操作的数组(对象)
newelement1, ... 至少一个。要添加到数组的元素序列,使用 , 分隔。

提示:unshift 方法将直接修改原数组,并将已经存在的元素顺次地移到较高的下标处,而不像其他很多方法一样得到一个原数组的副本。

unshift 方法实例

<script language="JavaScript">

var array_1 = new Array('a','b','c');
document.write( array_1.unshift(1,2) + '<br />' );
document.write( array_1 ); </script>

运行该例子,输出:

5
1,2,a,b,c

注意

在 IE 某些版本下,该方法返回的可能是 undefined 而不是新数组的长度。

JavaScript 数组的常用操作的更多相关文章

  1. javascript 数组的常用操作函数

    join() Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为“,”). 与之相反的一个方法是:Stri ...

  2. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  3. Java实例 Part4:数组及其常用操作

    目录 Part4:数组及其常用操作 Example01:将二维数组的行列交换 Example02:使用选择排序法对数组进行排序 Example03:使用冒泡排序法对数组进行排序 Example04:使 ...

  4. pandas_一维数组与常用操作

    # 一维数组与常用操作 import pandas as pd # 设置输出结果列对齐 pd.set_option('display.unicode.ambiguous_as_wide',True) ...

  5. JavaScript之数组的常用操作函数

    js对数组的操作非常频繁,但是每次用到的时候都会被搞混,都需要去查相关API,感觉这样很浪费时间.为了加深印象,所以整理一下对数组的相关操作. 常用的函数 concat() 连接两个或更多的数组,并返 ...

  6. javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  7. JavaScript数组的某些操作(一)

    在软件开发的过程中JavaScript的编程在所难免.当中对数组的操作尤为常见,这里介绍一下和JavaScript数组相关的某些操作: 1.删除并返回数组的第一个元素--shift方法: <!D ...

  8. Javascript 数组对象常用的API

    常用的JS数组对象API ES5及以前的Api ECMAScript5为数组定义了5个迭代方法,每个方法接收两个参数, 一个是每项运行的函数,一个是运行该函数的作用域对象(可选项),传入这些方法的函数 ...

  9. Javascript 字符串(二)常用操作整理

    一.js获取字符串的字节数 这个好使--- function getBytesLength(str) { // 在GBK编码里,除了ASCII字符,其它都占两个字符宽 return str.repla ...

随机推荐

  1. Java Class对象详解

    要怎样在java里来使用一个类,首先必须先把类的.class字节码文件加载进来,然后再进行连接对该类里的域分配内存,最后再调用构造器,如果该类有基类的话,会先去调用基类的构造器,总的来说,分为以下三个 ...

  2. 树链剖分【CF165D】Beard Graph

    Description 给定一棵树,有m次操作. 1 x 把第x条边染成黑色 2 x 把第x条边染成白色 3 x y 查询x~y之间的黑边数,存在白边输出-1 Input 第1行为一个整数\(n\), ...

  3. 洛谷——P3414 SAC#1 - 组合数

    P3414 SAC#1 - 组合数 题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣 ...

  4. Flask实战第40天:图片验证码生成技术

    图片验证码生成 安装pillow pip install pillow 在utils下新建python package命名为captcha 把需要需要用到的字体放在captcha下 编辑captcha ...

  5. Xamarin提示安装包错误解决办法

    Xamarin提示安装包错误解决办法大学霸 Xamarin提示安装包错误,错误信息类似于:Please install package:'Xamarin.Android.Support.v7.Medi ...

  6. PIE.htc的使用

    文件下载:http://css3pie.com/download/ 使用: .pie_radius{ width:200px; height:200px; background-color:red; ...

  7. hdu 5592 ZYB's Premutation (权值线段树)

    最近在线段树的世界里遨游,什么都能用线段树做,这不又一道权值线段树了么. ZYB's Premutation Time Limit: 2000/1000 MS (Java/Others)    Mem ...

  8. 【KMP】BZOJ3942-[Usaco2015 Feb] Censoring

    [题目大意] 有一个S串和一个T串,长度均小于1,000,000,设当前串为U串,然后从前往后枚举S串一个字符一个字符往U串里添加,若U串后缀为T,则去掉这个后缀继续流程.输出最后的S串. [思路]三 ...

  9. lightoj 1052 - String Growth & uva 12045 - Fun with Strings 矩阵

    思路:很容易发现规律,数列和Fib数列一样的. 记开始的时候啊a的个数为Y,b的个数为X.建立矩阵. 代码如下: #include<iostream> #include<cstdio ...

  10. JDK源码学习笔记——LinkedList

    一.类定义 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E& ...