JS高程5.引用类型(5)Array类型的操作方法
一.操作方法
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类型的操作方法的更多相关文章
- JS高程5.引用类型(2)Array类型
Array类型: ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的. 创建数组的基本方式: (1)使用Array构造函数 var color=new Array(); ...
- 《JS高程》引用类型学习笔记
2月圆满的结束了,结束之前是如凤凰般的涅槃.一边上班,一边搞科研的忙碌有点让人透不过气,心会不由得浮躁起来.但是,无论什么事情,只要充满耐心.专心去做,总会朝好的方向发展,心态真的很重要.Anyway ...
- JavaScript引用类型之Array类型一
一.简介 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了.下面就来分析ECMAScript中的数组与其他语言中的数组的异同性: 1.相同点: (1)他们都是数据的有序列 ...
- JavaScript引用类型之Array类型API详解
Array类型也是ECMASCRIPT中最常见的数据类型,而且数据的每一项可以保存任何类型的数值,而且数组的大小是可以动态调整的,可以随着数据的添加自动增长以容纳新的数据.下面,总结数据的一些常用方法 ...
- 引用类型之Array类型
Array类型 ECMAScript数组与其它语言数组一样,都是数据的有序列表.但是ECMAScript数组的每一项可以保存任何类型的数据.而且,ECMAScript数组是可以动态调整的. 1.创建和 ...
- JS高程5.引用类型(4)Array类型的各类方法
一.转换方法 所有的对象都具有toLocaleString(),toString()和valueOf()方法.调用toString()方法会返回由数组中的每个值的字符串拼接而成的一个以逗号分隔的字符串 ...
- JS高程5.引用类型(3)Array类型-检测数组
1. instanceof操作符(ECMAScript3) 对于一个网页,或者是一个全局作用域而言,使用instanceof操作符来检测数组就可以得到满意的结果. 语法:if(value instan ...
- JS高程5.引用类型(6)Array类型的位置方法,迭代方法,归并方法
一.位置方法 ECMAScript5为数组实例添加了两个位置:indexOf()和 lastIndexOf().这两个方法接收两个参数:要查找的项和(可选的)表示查找起点位置的索引(如在数组[7,8, ...
- JS高程5.引用类型(1)Object类型
引用类型 在ECMASCript中,引用类型是一种数据结构,将数据和功能组织在一起,引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法.(注意:尽管ECMAScript从技术上 ...
随机推荐
- PhpStorm创建Drupal模块项目开发教程
在PhpStorm开发工具中,创建Drupal开发项目有两种方式:整合Drupal到现有的项目中和直接创建一个新的Drupal模块. 接下来将展示这两种方式的具体操作! 整合Drupal到现有的项目 ...
- JJG 623-2005 电阻应变仪计量检定规程
JJG 623-2005 电阻应变仪计量检定规程 点击下载 JJG533-2007标准模拟应变量校准器检定规程 点击下载 JJG 533-1988标准(里面含有一些更具体的电路图供参考)
- Android-异步图像装载机
在ListView加载图像是非常常见的场景,图像加载几个要求满足以下的: (1)是否画面位于网络或本地上,装载不应同步.但应该异步加载,例如,使用AsyncTask. (2)为了避免重复下载图片和网页 ...
- js 计算过去和未来的时间距离现在多少天?
计算传入的任意一时间.计算出这个时间距离现在还有多少天!或者计算过去的时间距离现在已经过去了多少天! 返回值有两种! 1.负值 代表过去了多少天 2.正值 代表距离设定的时间还有多少天 说明:距离设定 ...
- DDD领域驱动设计
DDD领域驱动设计实践篇之如何提取模型 需求说明: 省级用户可以登记国家指标 省级用户和市级用户可以登记指标分解 登记国家指标时,需要录入以下数据:指标批次.文号.面积,这里省略其他数据,下同 登记指 ...
- 自己动手实现Expression翻译器 – Part I
伴随.Net3.5到来的Expression,围绕着它产生了各种各样有趣的技术与应用,Linq to object.Linq to sql.Linq to sqllite.Linq to Anythi ...
- malloc内存分配与free内存释放的原理
malloc内存分配与free内存释放的原理 前段时间一直想看malloc的原理,在搜了好几篇malloc源码后遂放弃,晦涩难懂. 后来室友买了本深入理解计算机系统的书,原来上面有讲malloc的原理 ...
- FormsAuthentication知多少
前述:对于FormsAuthentication相信大家都烂熟于胸了,这里只是做一下小结. 一.先看一下使用FormsAuthentication做登录认证的用法 用法一: FormsAuthenti ...
- Python 用IMAP接收邮件
一.简介IMAP(Internet Message Access Protocol),这个协议与POP一样,也是从邮件服务器上下载邮件到本机,不过IMAP比POP的功能要更加强大些,IMAP除支持PO ...
- div光标定位问题总结
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...