JavaScript 数组操作函数总结(push,pop,join,shift,unshift,slice,splice,concat)

本文主要是介绍JavaScript 数组操作函数总结(push,pop,join,shift,unshift,slice,splice,concat),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

js中数组操作函数还是非常多的,今天忽然想到来总结一下,也算是温故而知新吧。不过不会针对每个办法都进行一下总结,只是针对一些比较常用的做个备注一下。

这里总结到的 js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat

(1)push 和 pop

这两个函数都是对数组从尾部进行压入或弹出操作。push(arg1,arg2,...)可以每次压入一个或多个元素,并返回更新后的数组长度。注意如果参数也是数组的话,则是将全部数组当做一个元素压入到原本的数组里面去。pop() 函数则每次只会弹出结尾的元素,并返回弹出的元素,若是是对空组数调用 pop() 则返回undefined。

示例:

var oldArr=[1,2,3];

alert(oldArr.push(4,[5,6]))//这里只会将[5,6]当做一个元素来策画,返回更新后的数组长度5

此时 oldArr = [1,2,3,4,[5,6]]

oldArr.pop()//这里弹出最后一个元素[5,6],而不是6

此时 oldArr = [1,2,3,4]

oldArr.pop()-->4

oldArr.pop()-->3

oldArr.pop()-->2

oldArr.pop()-->1

alert(oldArr.pop())-->undefined(空数组弹出)

(2)unshift 和 shift

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。

请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。另外在 Internet Explorer 浏览器中 unshift() 无法执行!

如下示例,我们将创建一个数组,并把一个元素添加到数组的开头,并返回数组的新长度:

查看代码
打印
1 <script type="text/javascript">
2 var arr = new Array()
3 arr[0] = "George"
4 arr[1] = "John"
5 arr[2] = "Thomas"
6 document.write(arr.join() + "<br />")
7 document.write(arr.unshift("William") + "<br />")
8 document.write(arr.join())
9 </script>

输出:

George,John,Thomas
4
William,George,John,Thomas

shift() 用于将数组的第一个元素从原数组中删除,并返回第一个元素的值(即被删除的元素的值)。

注意:若数组是空的,那么 shift() 将不进行任何操纵,直接返回 undefined 值。另外该方法也不创建新数组,而是直接修改原有的 arrayObject。

示例:在本例中,我们将创建一个数组,并删除数组的第一个元素:

查看代码
打印
1 <script type="text/javascript">
2 var arr = new Array
3 arr[0] = "George"
4 arr[1] = "John"
5 arr[2] = "Thomas"
6 document.write(arr.join() + "<br />")
7 document.write(arr.shift() + "<br />")
8 document.write(arr.join())
9 </script>

输出:

George,John,Thomas 
George 
John,Thomas

(3)join()

作用是将数组各个元素是通过指定的分隔符进行连接成为一个字符串。其作用和toString()相同。

语法

arrayObject.join(separator)

参数 separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

示例:

查看代码
打印
1 var arr = new Array(3)
2 arr[0] = "George"
3 arr[1] = "John"
4 arr[2] = "Thomas"
5 document.write(arr.join())

输出

George,John,Thomas

(4)slice()

该方法可从已有的数组中返回选定的元素

语法

arrayObject.slice(start,end)

返回值

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

注意:您可使用负值从数组的尾部选取元素。如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

示例:

查看代码
打印
1 <script type="text/javascript">
2 var arr = new Array(3)
3 arr[0] = "George"
4 arr[1] = "John"
5 arr[2] = "Thomas"
6 document.write(arr.join() + "<br />")
7 document.write(arr.slice(1) + "<br />")
8 document.write(arr.join())
9 </script>

输出:

George,John,Thomas
John,Thomas
George,John,Thomas

(5)splice()

该方法用于插入、删除或替换数组的元素。

语法

splice(start,deleteCount,element1,.....,elementX)

从start位置开始删除deleteCount项,并从该位置起插入element1,...elementX

返回值

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

说明

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。需要注意的是 splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

示例:

例子 1

在本例中,我们将创建一个新数组,并向其添加一个元素:

查看代码
打印
01 <script type="text/javascript">
02 var arr = new Array(6)
03 arr[0] = "George"
04 arr[1] = "John"
05 arr[2] = "Thomas"
06 arr[3] = "James"
07 arr[4] = "Adrew"
08 arr[5] = "Martin"
09 document.write(arr.join() + "<br />")
10 arr.splice(2,0,"William")
11 document.write(arr.join() + "<br />")
12 </script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

例子 2

在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:

查看代码
打印
01 <script type="text/javascript">
02 var arr = new Array(6)
03 arr[0] = "George"
04 arr[1] = "John"
05 arr[2] = "Thomas"
06 arr[3] = "James"
07 arr[4] = "Adrew"
08 arr[5] = "Martin"
09 document.write(arr.join() + "<br />")
10 arr.splice(2,1,"William")
11 document.write(arr.join())
12 </script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin

例子 3

在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:

查看代码
打印
01 <script type="text/javascript">
02 var arr = new Array(6)
03 arr[0] = "George"
04 arr[1] = "John"
05 arr[2] = "Thomas"
06 arr[3] = "James"
07 arr[4] = "Adrew"
08 arr[5] = "Martin"
09 document.write(arr.join() + "<br />")
10 arr.splice(2,3,"William")
11 document.write(arr.join())
12 </script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Martin

(6)contact()

该方法用于连接两个或多个数组。它不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

语法

arrayObject.concat(arrayX,arrayX,......,arrayX)

示例:

例子 1

在本例中,我们将把 concat() 中的参数连接到数组 a 中:

查看代码
打印
1 <script type="text/javascript">
2 var a = [1,2,3];
3 document.write(a.concat(4,5));
4 </script>

输出:

1,2,3,4,5

例子 2

在本例中,我们创建了两个数组,然后使用 concat() 把它们连接起来:

查看代码
打印
01 <script type="text/javascript">
02 var arr = new Array(3)
03 arr[0] = "George"
04 arr[1] = "John"
05 arr[2] = "Thomas"
06 var arr2 = new Array(3)
07 arr2[0] = "James"
08 arr2[1] = "Adrew"
09 arr2[2] = "Martin"
10 document.write(arr.concat(arr2))
11 </script>

输出:

George,John,Thomas,James,Adrew,Martin

例子 3

在本例中,我们创建了三个数组,然后使用 concat() 把它们连接起来:

查看代码
打印
01 <script type="text/javascript">
02 var arr = new Array(3)
03 arr[0] = "George"
04 arr[1] = "John"
05 arr[2] = "Thomas"
06 var arr2 = new Array(3)
07 arr2[0] = "James"
08 arr2[1] = "Adrew"
09 arr2[2] = "Martin"
10 var arr3 = new Array(2)
11 arr3[0] = "William"
12 arr3[1] = "Franklin"
13 document.write(arr.concat(arr2,arr3))
14 </script>

输出:

George,John,Thomas,James,Adrew,Martin,William,Franklin




转自:http://blog.csdn.net/aerchi/article/details/25238119

http://www.roammemo.com/html5/120.html

这篇关于JavaScript 数组操作函数总结(push,pop,join,shift,unshift,slice,splice,concat)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/657122

相关文章

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.