JavaScript引用类型之Array数组的拼接方法-concat()和截取方法-slice()

时间:2022-04-24
本文章向大家介绍JavaScript引用类型之Array数组的拼接方法-concat()和截取方法-slice(),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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()却无法使用负数!