1、concat()   基于当前数组中的所有项创建一个新数组(也就是副本),然后将接收到的参数添加到副本的末尾,最后返回新构建的数组。也就是说,concat()在向数组中追加元素时,不会改变原有数组的内容,而是改变数组副本的内容。

有如下代码:

<script>
var colors=["red","blue","green"];
var colors1=colors.concat("yellow",["black","brown"]);
alert(colors);//输出:red,blue,green 说明contact()在追加内容是并不是追加到原数组(这里指colors数组),而是原数组的一个副本
alert(colors1);//输出:red,blue,green,yellow,black,brown
</script>

这里需要注意,concat()的追加对象的方式是将对象拆分开,然后将对象里面的属性和属性值,或者是数组的值分别作为一个对象插入到目标数组的副本中去!

2、slice()

string.slice(start,end); //用法

参数说明:

start:从零开始的索引位置开始提取

end:从零开始的索引位置结束提取。如果省略,则提取从start位置开始,直至最后一个字符,代码如下

下面是省略end参数的slice例子,代码如下:

<script>
var ambition="I am CEO Bitch!";
ambition=ambition.slice(1);
alert(ambition); //输出:am CEO Bitch!
</script>

分析上面的代码,发现当我们省略end参数时,slice()方法就从start参数开始截取直至字符串最后一个!注意包括start为1的那个字符!

下面是包括end的slice例子,代码如下:

<script>
var ambition="I am CEO Bitch!";
ambition=ambition.slice(2,7);
alert(ambition); //输出:am CE 从第二个字符开始截取,直至第7个字符,但是不包括第7个字符
</script>

分析上面的代码,发现当有end参数时,slice()方法就从start参数开始截取直至字符串最后一个!注意包括索引为1的那个字符,但是不包括索引为7的那个字符!

下面来说下slice()方法最重要的一个特性,代码如下:

<script>
var ambition="I am CEO Bitch!";
ambition=ambition.slice(2,-2);
alert(ambition); //输出:am CEO Bitc 从第二个字符开始截取,截到倒数第二个字符处,但是不包括倒数第二个字符
</script>

分析上面的代码,发现slice()方法截取字符串还是比较灵活的,可以用负数,而与之功能差不多的subString()却无法使用负数!

JavaScript引用类型之Array数组的拼接方法-concat()和截取方法-slice()的更多相关文章

  1. JavaScript引用类型之Array数组的toString()和valueof()方法的区别

    一.转换方法 1.在JavaScript中几乎所有对象都具有toLocaleString().toString和valueof()方法,因为,所有的对象都继承自Object,而前面所说的方法都是Obj ...

  2. JavaScript引用类型之Array数组的排序方法

    数组中已经存在两个JavaScript给我们定义好的重排序的方法:reverse()和sort()方法,下面来简单分析下: 1.reverse()    用于反转数组项的顺序,代码如下: <sc ...

  3. JavaScript引用类型之Array数组之强大的splice()方法

    splice()方法可以说是Array数组最强大的方法,他的用法很多,主要用法是向数组的中部插入项! 下面是它的用法: arrayObject.splice(index,howmany,element ...

  4. JavaScript引用类型之Array数组的栈方法与队列方法

    一.栈方法 ECMAScript数组也提供了一种让数组的行为类似与其他数据结构的方法.具体的来说,数组可以变现的向栈一样,栈就是一种可以限制插入和删除向的数据结构.栈是一种LIFO(Last In F ...

  5. JavaScript引用类型之Array数组的concat()和push()方法的区别

    在javascript中,我们一般都只用push向数组的尾部插入新元素的,但是其实在javascript中还有另外一个方法和push一样,也是向数组尾部插入新元素的,但是他们之间却存在着一定的区别,当 ...

  6. JavaScript高级编程——引用类型、Array数组使用、栈方法

    JavaScript高级编程——引用类型.Array数组使用.栈方法 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999 ...

  7. JavaScript高级编程——Array数组迭代(every()、filter()、foreach()、map()、some(),归并(reduce() 和reduceRight() ))

    JavaScript高级编程——Array数组迭代(every().filter().foreach().map().some(),归并(reduce() 和reduceRight() )) < ...

  8. JavaScript中的Array数组详解

    ECMAScript中的数组与其他多数语言中的数组有着相当大的区别,虽然数组都是数据的有序列表,但是与其他语言不同的是,ECMAScript数组的每一项可以保存任何类型的数据.也就是说,可以用数组的第 ...

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

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

随机推荐

  1. linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限

    命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用  -h   格式   命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...

  2. [转]Asp.Net MVC使用HtmlHelper渲染,并传递FormCollection参数的陷阱 【转】

    在Asp.Net MVC 1.0编程中,我们经常遇见这样的场景,在新建一个对象时候,通过HtmlHelper的方式在View模型中渲染Html控件,当填写完相关内容后,通过Form把需要新建的内容Po ...

  3. extern外部方法使用C#简单样例

    外部方法使用C#简单样例 1.添加引用using System.Runtime.InteropServices; 2.声明和实现的连接[DllImport("kernel32", ...

  4. 分布式-在win7上安装linux操作系统

    由于大多数的分布式计算框架.分布式存储系统.分布式平台都支持在unix类似的环境下.所以要做分布式的实验和学习的话,还是推荐装个linux系统.我这里安装的是ubuntu,由于之前装过这个. 一.下载 ...

  5. mac itunes ios 7 升级 出现 this device isn't eligible for the requested build

    今天在对我的iPod 进行iOS7 升级的时候(在mac iTunes 上进行的),一直弹出框提示 解决办法就是 1. 打开HOSTS (Mac 下路径为:/etc/hosts, 至于怎么打开host ...

  6. 【转】HtmlAgilityPack 之 HtmlNode类

    [转]HtmlAgilityPack 之 HtmlNode类 HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异.下面来看看该类提供功能. 一.静态属性 ...

  7. DOM元素对象的属性和方法(2)

    11.contentEditable 作用:设置或返回元素内容可否编辑布尔值,HTML5新增属性 <!DOCTYPE html> <html> <head> < ...

  8. 字节数转换为b,kb,mb,gb的方法 通用的手机流量计算方法

    //通用的手机流量计算方法 private String byteToMB(long size){ long kb = 1024; long mb = kb*1024; long gb = mb*10 ...

  9. Cross-site scripting

    Cross-site scripting (XSS) is a type of computer security vulnerability typically found in Web appli ...

  10. mysql 与 mysqli的区别

    mysqli.dll是PHP对mysql新特性的一个扩展支持.在PHP5中可以在php.ini中加载mysql后面的i,指improved, interface, ingenious, incompa ...