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()却无法使用负数!
JavaScript引用类型之Array数组的拼接方法-concat()和截取方法-slice()的更多相关文章
- JavaScript引用类型之Array数组的toString()和valueof()方法的区别
一.转换方法 1.在JavaScript中几乎所有对象都具有toLocaleString().toString和valueof()方法,因为,所有的对象都继承自Object,而前面所说的方法都是Obj ...
- JavaScript引用类型之Array数组的排序方法
数组中已经存在两个JavaScript给我们定义好的重排序的方法:reverse()和sort()方法,下面来简单分析下: 1.reverse() 用于反转数组项的顺序,代码如下: <sc ...
- JavaScript引用类型之Array数组之强大的splice()方法
splice()方法可以说是Array数组最强大的方法,他的用法很多,主要用法是向数组的中部插入项! 下面是它的用法: arrayObject.splice(index,howmany,element ...
- JavaScript引用类型之Array数组的栈方法与队列方法
一.栈方法 ECMAScript数组也提供了一种让数组的行为类似与其他数据结构的方法.具体的来说,数组可以变现的向栈一样,栈就是一种可以限制插入和删除向的数据结构.栈是一种LIFO(Last In F ...
- JavaScript引用类型之Array数组的concat()和push()方法的区别
在javascript中,我们一般都只用push向数组的尾部插入新元素的,但是其实在javascript中还有另外一个方法和push一样,也是向数组尾部插入新元素的,但是他们之间却存在着一定的区别,当 ...
- JavaScript高级编程——引用类型、Array数组使用、栈方法
JavaScript高级编程——引用类型.Array数组使用.栈方法 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999 ...
- JavaScript高级编程——Array数组迭代(every()、filter()、foreach()、map()、some(),归并(reduce() 和reduceRight() ))
JavaScript高级编程——Array数组迭代(every().filter().foreach().map().some(),归并(reduce() 和reduceRight() )) < ...
- JavaScript中的Array数组详解
ECMAScript中的数组与其他多数语言中的数组有着相当大的区别,虽然数组都是数据的有序列表,但是与其他语言不同的是,ECMAScript数组的每一项可以保存任何类型的数据.也就是说,可以用数组的第 ...
- JavaScript引用类型之Array类型一
一.简介 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了.下面就来分析ECMAScript中的数组与其他语言中的数组的异同性: 1.相同点: (1)他们都是数据的有序列 ...
随机推荐
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用 -h 格式 命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...
- [转]Asp.Net MVC使用HtmlHelper渲染,并传递FormCollection参数的陷阱 【转】
在Asp.Net MVC 1.0编程中,我们经常遇见这样的场景,在新建一个对象时候,通过HtmlHelper的方式在View模型中渲染Html控件,当填写完相关内容后,通过Form把需要新建的内容Po ...
- extern外部方法使用C#简单样例
外部方法使用C#简单样例 1.添加引用using System.Runtime.InteropServices; 2.声明和实现的连接[DllImport("kernel32", ...
- 分布式-在win7上安装linux操作系统
由于大多数的分布式计算框架.分布式存储系统.分布式平台都支持在unix类似的环境下.所以要做分布式的实验和学习的话,还是推荐装个linux系统.我这里安装的是ubuntu,由于之前装过这个. 一.下载 ...
- mac itunes ios 7 升级 出现 this device isn't eligible for the requested build
今天在对我的iPod 进行iOS7 升级的时候(在mac iTunes 上进行的),一直弹出框提示 解决办法就是 1. 打开HOSTS (Mac 下路径为:/etc/hosts, 至于怎么打开host ...
- 【转】HtmlAgilityPack 之 HtmlNode类
[转]HtmlAgilityPack 之 HtmlNode类 HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异.下面来看看该类提供功能. 一.静态属性 ...
- DOM元素对象的属性和方法(2)
11.contentEditable 作用:设置或返回元素内容可否编辑布尔值,HTML5新增属性 <!DOCTYPE html> <html> <head> < ...
- 字节数转换为b,kb,mb,gb的方法 通用的手机流量计算方法
//通用的手机流量计算方法 private String byteToMB(long size){ long kb = 1024; long mb = kb*1024; long gb = mb*10 ...
- Cross-site scripting
Cross-site scripting (XSS) is a type of computer security vulnerability typically found in Web appli ...
- mysql 与 mysqli的区别
mysqli.dll是PHP对mysql新特性的一个扩展支持.在PHP5中可以在php.ini中加载mysql后面的i,指improved, interface, ingenious, incompa ...