专栏首页GreenLeavesJavaScript引用类型之Array数组的拼接方法-concat()和截取方法-slice()

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 条评论
登录 后参与评论

相关文章

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

    1、concat()   基于当前数组中的所有项创建一个新数组(也就是副本),然后将接收到的参数添加到副本的末尾,最后返回新构建的数组。也就是说,concat(...

    郑小超.
  • 代码生成引擎之T4模版

          在学校三年、公司里呆了快一年了,作用ASP.NET开发的我,居然从来没听过T4模版,公司里也没有人使用,它就是这样不为世人所熟知,却又默默的奉献着!...

    郑小超.
  • JavaScript引用类型之Array类型一

    一、简介 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了。下面就来分析ECMAScript中的数组与其他语言中的数组的异同性: ...

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

    1、concat()   基于当前数组中的所有项创建一个新数组(也就是副本),然后将接收到的参数添加到副本的末尾,最后返回新构建的数组。也就是说,concat(...

    郑小超.
  • tkinter -- Entry

    上面的代码目的是创建一个Entry对象,并在Entry上显示'input >>>',运行此代码,并没有看到文本的显示,由此可知于Lable和Button不同,E...

    py3study
  • 推荐|不知道这些AI知识,千万别说你是AI圈的!

    摘要: 为什么人工智能,机器学习突然之间成了热门话题,变成IT领域,甚至其他领域的人们都在讨论的热点?也许文章的作者会给你一点这方面的思考。 最近,我有幸与人...

    IT派
  • Android网络 | Socket(Eclipse--Java)

    在获取时使用方法readFromClient()来读取客户端数据。 如果读取数据过程中捕获到 IOException异常, 则说明此Socket对应的客户端...

    凌川江雪
  • SpringBoot中必须掌握的45个注解

    包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上;

    好好学java
  • JS高级测试: 关于字符串扩展的新函数,下面描述错误的是?

    舒克
  • NeuralCoref: 用指代消解来做一个“能多轮对话的问答对话机器人”

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    blmoistawinde

扫码关注云+社区

领取腾讯云代金券