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. python手记(51)

    python通过声音将文件内容隐藏,实现原理是将文件的内容分别插入到声音文件的不同位置中做为当次采样的数据,目前是对英文文本文档加解密 #!/usr/bin/env python # -*- codi ...

  2. 【LeetCode】4Sum 解题报告

    [题目] Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d  ...

  3. 动画原理——绘制正弦函数&环绕运动&椭圆运动

    书籍名称:HTML5-Animation-with-JavaScript 书籍源码:https://github.com/lamberta/html5-animation  1.正弦函数.x位置递增, ...

  4. SSIS之数据转换用法

    当SSIS报错为:“无法在unicode和非unicode字符串数据类型之间转换”,可以考虑用数据转换器实现,很简单,如下图: 第一步,找到数据转换器: 第二步,编辑数据转换器: 第三步:编辑目标映射 ...

  5. .NET面试题解答

    抽象类和接口有什么区别?使用时候有什么需要注意的吗?答:相同点:都不能被直接实例化,都通过继承实现其抽象方法: 不同点: 1) 接口支持多继承:抽象类不能实现多继承: 2) 接口只能定义行为:抽象类既 ...

  6. ListView实现上拉下拉刷新加载功能

    第一步.首先在你项目中创建一个包存放支持下拉刷新和上拉加载的类:

  7. CentOS7与Win7双系统引导问题

    先安装的Win7,后安装的CentOS7,结果系统引导就只有CentOS7了.记得以前CentOS6.x系列没这个问题,主要是由于CentOS7.x使用grub2的原因吧. 方案一:使用Win PE. ...

  8. 关于中文乱码的解决方法(URL方式)

    假设keyWord ='阳光'; url="play.jsp? keyWord ="+ keyWord 若按照上述的地址直接访问,则中文会变成乱码.必须使用encodeURI()进 ...

  9. Labview常用快捷键

    对象调整和移动快捷键 Shift-click                          选择多个对象,在现有选择的基础上添加对象 方向键                            ...

  10. Extjs Store 的用法详解

    Ext.data.Store的基本用法 在使用之前,首先要创建一个Ext.data.Store的实例,如下面的代码所示.       每个store最少需要两个组件的支持,分别是proxy和reade ...