一.操作方法

1.concat()方法

  基于当前数组中的所有项创建一个新数组。具体说,是先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。在没有给concat()方法传递参数的情况下,它只是复制当前数组并返回副本。

eg:

 var name=["lin","li","fang"];
var name1=name.concat("zhao","zhou",["hao","cheng"]);
alert(name);
alert(name1);

注意:上面代码中,我把变量名设置为name,这样做不是很好,再下面的slice()如果还是使用name变量名的话,会出现问题,实现不了我们想要的效果:

2.slice()方法

  基于当前数组中的一或多个项创建一个新数组。

(1)slice()只有一个参数的情况下,返回从该参数指定位置开始到当前数组末尾的所有项。

eg:

 var colors=["red","green","blue","white"];
var son1=colors.slice(1);
alert(son1);

使用name作为变量名的话,会出现下面的问题:

 var name=["red","green","blue","white"];
var name2=name.slice(1,3);
alert(name2);

(2)slice()有两个参数时,返回起始位置和结束位置之间的项(但是不包含结束位置的项。)

eg:

 var colors=["red","green","blue","white"];
var son1=colors.slice(1,3);
alert(son1);//输出green,blue

注意:如果slice()方法的参数中有一个是负数,则用数组的长度加上该数来确定相应的位置。

eg:

 var colors=["red","green","blue","white"];
var son1=colors.slice(-3,-1);
alert(son1);//输出green,blue

数组的长度为4,  4+(-3)=1,4+(-1)=3,所以slice(-3,-1)和slice(1,3)的结果是一样的。

3.splice()方法的主要用途是向数组中插入项,使用方式有以下3种:

(1)删除:可以删除任意数量的项,指定2个参数,要删除的第一项的位置和要删除的项数。

eg:

 var colors=["red","green","blue","white"];
var son1=colors.splice(0,2);
alert(colors);//输出blue,white
alert(son1);//输出red,green

splice()返回一个数组,该数组中包含从原始数组中删除的项(如果没有删除任何项,则返回一个空数组。)

(2)插入:可以向指定文字插入任意数量的项,需要三个参数:起始位置,0(要删除的项数)和要插入的项,可以传入多个项。

eg:

 var colors=["red","green","blue","white"];
var son1=colors.splice(2,0,"pink","red");
alert(colors);//red,green,pink,red,blue,white
alert(son1);//空数组

(3)替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,要需要指定三个参数:起始位置要删除的项数,和要插入的任意项,插入的项数不必与删除的项数相等。

eg:

 var colors=["red","green","blue","white"];
var son1=colors.splice(2,2,"pink");
alert(colors);//red,green,pink,pink
alert(son1);//bule,white

小结思考:

  这里需要注意的是,好像concat()和splice()方法都可以在一个数组后添加新的项,但是concat()方法是创建一个新的数组,而splice()方法是在原来的数组上进行改变。

eg:

 var colors=["red","blue"];
var colors1=colors.concat("green");
alert(colors);//red,blue.注意这里原理的数组是不变的。
alert(colors1);//red,blue,green.这里返回的新的数组colors1。
var c=colors.splice(3,0,"green");
alert(colors);//red,blue,green。在原来的数组上改变。

JS高程5.引用类型(5)Array类型的操作方法的更多相关文章

  1. JS高程5.引用类型(2)Array类型

    Array类型: ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的. 创建数组的基本方式: (1)使用Array构造函数 var color=new Array(); ...

  2. 《JS高程》引用类型学习笔记

    2月圆满的结束了,结束之前是如凤凰般的涅槃.一边上班,一边搞科研的忙碌有点让人透不过气,心会不由得浮躁起来.但是,无论什么事情,只要充满耐心.专心去做,总会朝好的方向发展,心态真的很重要.Anyway ...

  3. JavaScript引用类型之Array类型一

    一.简介 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了.下面就来分析ECMAScript中的数组与其他语言中的数组的异同性: 1.相同点: (1)他们都是数据的有序列 ...

  4. JavaScript引用类型之Array类型API详解

    Array类型也是ECMASCRIPT中最常见的数据类型,而且数据的每一项可以保存任何类型的数值,而且数组的大小是可以动态调整的,可以随着数据的添加自动增长以容纳新的数据.下面,总结数据的一些常用方法 ...

  5. 引用类型之Array类型

    Array类型 ECMAScript数组与其它语言数组一样,都是数据的有序列表.但是ECMAScript数组的每一项可以保存任何类型的数据.而且,ECMAScript数组是可以动态调整的. 1.创建和 ...

  6. JS高程5.引用类型(4)Array类型的各类方法

    一.转换方法 所有的对象都具有toLocaleString(),toString()和valueOf()方法.调用toString()方法会返回由数组中的每个值的字符串拼接而成的一个以逗号分隔的字符串 ...

  7. JS高程5.引用类型(3)Array类型-检测数组

    1. instanceof操作符(ECMAScript3) 对于一个网页,或者是一个全局作用域而言,使用instanceof操作符来检测数组就可以得到满意的结果. 语法:if(value instan ...

  8. JS高程5.引用类型(6)Array类型的位置方法,迭代方法,归并方法

    一.位置方法 ECMAScript5为数组实例添加了两个位置:indexOf()和 lastIndexOf().这两个方法接收两个参数:要查找的项和(可选的)表示查找起点位置的索引(如在数组[7,8, ...

  9. JS高程5.引用类型(1)Object类型

    引用类型 在ECMASCript中,引用类型是一种数据结构,将数据和功能组织在一起,引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法.(注意:尽管ECMAScript从技术上 ...

随机推荐

  1. JDK-windows7环境变量配置-亲测版本 以及HelloWorld

    1.下载并安装jdk,假设安装1.6.0_45版本到C:\Program Files\Java,则安装完毕后,目录结构为: C:\PROGRAM FILES\JAVA├─jdk1.6.0_45│ ├─ ...

  2. Android学习小Demo(21)ListView的联动选择

    在日常的App开发中,尤其是在开发生活服务的应用上,非常多时候,我们会须要联动地展现省市区的数据等,需求大概例如以下: 1)展现全部省份 2)当点击某省份的时候,在二级菜单上展现此省份以下所属的城市列 ...

  3. ECharts图表系统 特性总览

    最近在玩ECharts,感觉真心不错,在这里把官方的资料收集收集,给大家推荐一下下~ Architecture ECharts (Enterprise Charts 商业产品图表库) 提供商业产品常用 ...

  4. MySQL之数据库结构优化

    1.选择合适的数据类型 一.选择能够存下数据类型最小的数据类型 二.可以使用简单的数据类型.int  要比varchar在MySQL处理上简单 三.尽可能的使用not null  定义字段 四.尽量少 ...

  5. Building Modern Web Apps-构建现代的 Web 应用程序

    Building Modern Web Apps-构建现代的 Web 应用程序 视频长度:1 小时左右 视频作者:Scott Hunter 和 Scott Hanselman 视频背景:Visual ...

  6. zepto.js的基本介绍与使用

    最近看到了一篇文章,是介绍一种新的js框架,名为zepto.js,他适用于移动设备已经桌面浏览器除了ie系列的.. 他兼容jquery的API,所以学起来或用起来并不吃力.他比jquery的优势在于1 ...

  7. 点击表格的单元格时实现变颜色,通过for循环为每个单元格添加一个onclick事件

    <title>无标题文档</title> <script type="text/javascript" language="javascri ...

  8. SQLServer数据库误删数据找回

    记一次SQLServer数据库误删数据找回 昨天 同事在本机清理数据库表时,连接到了生产机,误删了二十几张表,幸好是晚上加班的时候删除的,生产机上当时是一天一备份,还原备份是最后的策略,最关键的还是要 ...

  9. Redis .NET开源组件Beetle.Redis

    Redis .NET开源组件Beetle.Redis Beetle.Redis是一款开源的Redis Client for .net组件,它提供非常简便的操作方式可以让开发人员轻松地访问Redis,同 ...

  10. IT团队管理

    如果在IT项目实施中选出最难解决的几个问题,那么管理问题一定名列前茅.在管理问题中,团队管理又是其中的难点.一个项目管理的 好坏,很大程度就体现在团队的建设和管理上.团队管理涉及到管理学.心理学和哲学 ...