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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏wym

JAVA 栈的操作

2691
来自专栏从流域到海域

《Java程序设计基础》 第8章手记Part 2

第八章内容 Part 2 - … - 抽象类和抽象方法 - 接口及接口的实现 - 利用接口实现类的多重继承 - 内部库和匿名类 ...

2179
来自专栏极客猴

Python中“is”和“==”的区别

相比 C/C++ 、Java 等强类型语言, Python 定义变量的方式就简单多了。我们只需要给变量起个变量名,而不需要给变量指定类型。

1042
来自专栏CDA数据分析师

工具 | Python集合使用详解

我会在这篇文章介绍Python几种类型的集合。 在开始前,先定义集合是什么。一个集合就像篮子,你可以放进和取出东西,可以是同一类的东西,也可以是不同类的。基本上...

2195
来自专栏简书专栏

Python入门2

定义:列表是最常用的python数据类型,一个列表中可以存储多个不同类型的数据。 语法:[]可以是number、string、bool等

1371
来自专栏苦逼的码农

聊一聊让我蒙蔽一晚上的各种常量池

在写之前我们先来看几个问题,假如你对这些问题已经很懂了的话,那大可不用看这篇文章,如果不大懂的话,那么可以看看我的想法。

984
来自专栏小小挖掘机

这或许是我见过的最简单的正则表达式教程(一)

五一劳动节来啦,小小挖掘机们小编们首先祝大家劳动节快乐! 作为中国放假大学的一员,除了趁着长达8天的五一春假好好休整之外,当然还要忙中偷闲补习一下python的...

3565
来自专栏土豆专栏

Java面试之操作符

不正确,3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型...

1385
来自专栏desperate633

LeetCode 27. Remove Element题目分析代码

给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。 元素的顺序可以改变,并且对新的数组不会有影响。

712
来自专栏JavaEdge

深入理解Java-final关键字1 修饰属性或者变量2 修饰方法3 修饰类4 final关键字的好处5 不可变类6其他重要知识点

3586

扫码关注云+社区

领取腾讯云代金券