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(); ...
- JavaScript引用类型之Array类型一
一.简介 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了.下面就来分析ECMAScript中的数组与其他语言中的数组的异同性: 1.相同点: (1)他们都是数据的有序列 ...
- 引用类型之Array类型
Array类型 ECMAScript数组与其它语言数组一样,都是数据的有序列表.但是ECMAScript数组的每一项可以保存任何类型的数据.而且,ECMAScript数组是可以动态调整的. 1.创建和 ...
- JavaScript引用类型之Array类型API详解
Array类型也是ECMASCRIPT中最常见的数据类型,而且数据的每一项可以保存任何类型的数值,而且数组的大小是可以动态调整的,可以随着数据的添加自动增长以容纳新的数据.下面,总结数据的一些常用方法 ...
- 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从技术上 ...
- JS高程5.引用类型(5)Array类型的操作方法
一.操作方法 1.concat()方法 基于当前数组中的所有项创建一个新数组.具体说,是先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组.在没有给concat() ...
随机推荐
- CGAffineTransform的使用
typedef struct CGAffineTransform CGAffineTransform; struct CGAffineTransform { CGFloat a, b, c, d; C ...
- Javascript \x 反斜杠x 16进制 编解码
js 里 \x 开头的通常是16进制编码的数据,下面代码实现编解码: 解码 function decode(str){ return str.replace(/\\x(\w{2})/g,functio ...
- 请使用千位分隔符(逗号)表示web网页中的大数字
方法一:使用正则表达式 语法如下: String(Number).replace(/(\d)(?=(\d{3})+$)/g, "$1,"); 举例: String(12345678 ...
- HTML5拖放牛刀小试
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Codeforces 264C Choosing Balls 动态规划
原文链接https://www.cnblogs.com/zhouzhendong/p/CF264C.html 题目传送门 - CF264C 题意 给定一个有 $n$ 个元素的序列,序列的每一个元素是个 ...
- 记录一次惊心动魄的sql去重
)) )) url 为判重依据,保留最大id其他的数据状态改为删除状态. concat()函数,为字符串拼接函数 从外到内分析sql 第一层四个条件界定,第一个是source渠道,第二个是未删除状态, ...
- TCP简介
TCP(Transmission Control Protocol) 传输控制协议,是一种面向连接的.可靠的.基于字节流的传输层通信协议. TCP是一种面向连接(连接导向)的.可靠的基于字节流的传输层 ...
- instance of的java用法
http://blog.csdn.net/liranke/article/details/5574791
- Python编程基础[条件语句if 循环语句 for,while](二)
ython条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 判断条件: 执行语句……else: 执行语句…… x= ...
- Spring 实现两种设计模式:工厂模式和单态模式(单例模式)
本文摘自:李刚 著 <轻量级 Java EE企业应用实战 Struts2+Spring+hibernate整合开发> 在Spring 中大量使用的以下两种设计模式:工厂模式和单态模式. 工 ...