例子摘抄于http://www.w3school.com.cn/jsref/jsref_obj_array.asp

1.slice();

Array和String对象都有

在Array中  slice(i,[j])

i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素
j为结束的索引值,缺省时则获取从i到末尾的所有元素

参数返回:
返回索引值从i到j的数组,原数组不改变

在String中 slice(i,[j])

参数说明:
i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个字符
j为结束的索引值,缺省时则获取从i到末尾的所有字符

实例

例子 1

在本例中,我们将创建一个新数组,然后显示从其中选取的元素:

  1. <script type="text/javascript">
  2.  
  3. var arr = new Array(3)
  4. arr[0] = "George"
  5. arr[1] = "John"
  6. arr[2] = "Thomas"
  7.  
  8. document.write(arr + "<br />")
  9. document.write(arr.slice(1) + "<br />")
  10. document.write(arr)
  11.  
  12. </script>

  

输出:

  1. George,John,Thomas
  2. John,Thomas
  3. George,John,Thomas

  

例子 2

在本例中,我们将创建一个新数组,然后显示从其中选取的元素:

  1. <script type="text/javascript">
  2.  
  3. var arr = new Array(6)
  4. arr[0] = "George"
  5. arr[1] = "John"
  6. arr[2] = "Thomas"
  7. arr[3] = "James"
  8. arr[4] = "Adrew"
  9. arr[5] = "Martin"
  10.  
  11. document.write(arr + "<br />")
  12. document.write(arr.slice(2,4) + "<br />")
  13. document.write(arr)
  14.  
  15. </script>

  

输出:

  1. George,John,Thomas,James,Adrew,Martin
  2. Thomas,James
  3. George,John,Thomas,James,Adrew,Martin

  

2.splice()

存在Array中     方法向/从数组中添加/删除项目,然后返回被删除的项目。 该方法会改变原始数组

splice(index,howmany,item1,itemx )

index : 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

howmany: 必需。要删除的项目数量。如果设置为 0,则不会删除项目。

item1...itemX : 可选。向数组添加的新项目。

返回值  Array  包含被删除项目的新数组,如果有的话。

实例

例子 1

在本例中,我们将创建一个新数组,并向其添加一个元素:

  1. <script type="text/javascript">
  2.  
  3. var arr = new Array(6)
  4. arr[0] = "George"
  5. arr[1] = "John"
  6. arr[2] = "Thomas"
  7. arr[3] = "James"
  8. arr[4] = "Adrew"
  9. arr[5] = "Martin"
  10.  
  11. document.write(arr + "<br />")
  12. arr.splice(2,0,"William")
  13. document.write(arr + "<br />")
  14.  
  15. </script>

  

输出:

  1. George,John,Thomas,James,Adrew,Martin
  2. George,John,William,Thomas,James,Adrew,Martin

  

例子 2

在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:

  1. <script type="text/javascript">
  2.  
  3. var arr = new Array(6)
  4. arr[0] = "George"
  5. arr[1] = "John"
  6. arr[2] = "Thomas"
  7. arr[3] = "James"
  8. arr[4] = "Adrew"
  9. arr[5] = "Martin"
  10.  
  11. document.write(arr + "<br />")
  12. arr.splice(2,1,"William")
  13. document.write(arr)
  14.  
  15. </script>

  

输出:

  1. George,John,Thomas,James,Adrew,Martin
  2. George,John,William,James,Adrew,Martin

  

例子 3

在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:

  1. <script type="text/javascript">
  2.  
  3. var arr = new Array(6)
  4. arr[0] = "George"
  5. arr[1] = "John"
  6. arr[2] = "Thomas"
  7. arr[3] = "James"
  8. arr[4] = "Adrew"
  9. arr[5] = "Martin"
  10.  
  11. document.write(arr + "<br />")
  12. arr.splice(2,3,"William")
  13. document.write(arr)
  14.  
  15. </script>

  

输出:

  1. George,John,Thomas,James,Adrew,Martin
  2. George,John,William,Martin

  

3.split()

在String中 split(separator,howmany)

separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

howmany: 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

一个字符串数组。该数组是通过在separator指定的边界处将字符串StringObject分割成子串创建的。返回的数组的字符串不包含separator自身

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)

与jion()函数相反效果

4.substring()

在String中  substring(start,stop)

start:表示子字符串的开始位置,

stop:表示结束结果。

注意:第二个参数应该大于第一个参数。如果出现第一个参数大于第二个参数的情况,substring方法会自动更换两个参数的位置。

实例

例子 1

在本例中,我们将使用 substring() 从字符串中提取一些字符:

  1. <script type="text/javascript">
  2.  
  3. var str="Hello world!"
  4. document.write(str.substring(3))
  5.  
  6. </script>

  

输出:

  1. lo world!

  

例子 2

在本例中,我们将使用 substring() 从字符串中提取一些字符:

  1. <script type="text/javascript">
  2.  
  3. var str="Hello world!"
  4. document.write(str.substring(3,7))
  5.  
  6. </script>

  

输出:

  1. lo w

  

5.substr()

在String中,substr(start,length);

start:子字符串的开始位置,

length:子字符串的长度。

实例

例子 1

在本例中,我们将使用 substr() 从字符串中提取一些字符:

  1. <script type="text/javascript">
  2.  
  3. var str="Hello world!"
  4. document.write(str.substr(3))
  5.  
  6. </script>

  

输出:

  1. lo world!

  

例子 2

在本例中,我们将使用 substr() 从字符串中提取一些字符:

  1. <script type="text/javascript">
  2.  
  3. var str="Hello world!"
  4. document.write(str.substr(3,7))
  5.  
  6. </script>

  

输出:

  1. lo worl

6.replace() 

定义和用法

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法

  1. stringObject.replace(regexp/substr,replacement)
参数 描述
regexp/substr

必需。规定子字符串或要替换的模式的 RegExp 对象。

请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

返回值

一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

说明

字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。

字符 替换文本
$1、$2、...、$99 与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
$& 与 regexp 相匹配的子串。
$` 位于匹配子串左侧的文本。
$' 位于匹配子串右侧的文本。
$$ 直接量符号。

注意:ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。

实例

例子 1

在本例中,我们将使用 "W3School" 替换字符串中的 "Microsoft":

  1. <script type="text/javascript">
  2.  
  3. var str="Visit Microsoft!"
  4. document.write(str.replace(/Microsoft/, "W3School"))
  5.  
  6. </script>

  

输出:

  1. Visit W3School!

  

例子 2

在本例中,我们将执行一次全局替换,每当 "Microsoft" 被找到,它就被替换为 "W3School":

  1. <script type="text/javascript">
  2.  
  3. var str="Welcome to Microsoft! "
  4. str=str + "We are proud to announce that Microsoft has "
  5. str=str + "one of the largest Web Developers sites in the world."
  6.  
  7. document.write(str.replace(/Microsoft/g, "W3School"))
  8.  
  9. </script>

  

输出:

  1. Welcome to W3School! We are proud to announce that W3School
  2. has one of the largest Web Developers sites in the world.

  

例子 3

您可以使用本例提供的代码来确保匹配字符串大写字符的正确:

  1. text = "javascript Tutorial";
  2. text.replace(/javascript/i, "JavaScript");

  

例子 4

在本例中,我们将把 "Doe, John" 转换为 "John Doe" 的形式:

  1. name = "Doe, John";
  2. name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");

  

例子 5

在本例中,我们将把所有的花引号替换为直引号:

  1. name = '"a", "b"';
  2. name.replace(/"([^"]*)"/g, "'$1'");

  

例子 6

在本例中,我们将把字符串中所有单词的首字母都转换为大写:

  1. name = 'aaa bbb ccc';
  2. uw=name.replace(/\b\w+\b/g, function(word){
  3. return word.substring(0,1).toUpperCase()+word.substring(1);}
  4. );

  

javascript的slice(),splice(),split(),substring(),substr()的更多相关文章

  1. javascript篇-slice(),splice(),split(),substring(),substr()的用法以及区别

    1.slice(),从已经有的数组中返回选定的元素, 使用范围是:Array,string 语法:obj.slice(start,end) 参数: start: 必需.规定从数组(字符串)的哪个ind ...

  2. javascript中slice(),splice(),split(),substring(),substr()使用方法

    因为本人在使用这些方法时常有混淆,特总结如下: 1.slice(): Array和String对象都有 在Array中  slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,- ...

  3. js中slice(),splice(),split(),substring(),substr()的使用方法和区别

    1.slice(): Array和String对象都有 在Array中  slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素j为结束的索引值,缺省时则获取 ...

  4. JS中slice,splice,split的区别

    不知道大家对slice,splice,splite是肿么样的感觉,反正我刚接触到这三个函数的时候整个人都懵了,因为一个个长的跟孪生兄弟似的,每次用的时候都会混,于是决定记下来,也给大家当个参考吧. s ...

  5. Javascript进阶篇——( JavaScript内置对象---上-Date,string,charAt,indexOf,split,substring,substr)笔记整理

    什么是对象JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法.对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等:对象的方法:能够在 ...

  6. 区分slice,splice,split

    原文:https://www.cnblogs.com/webjoker/p/5218114.html 1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进 ...

  7. slice,splice,split,unshift的用法

    工作了很久始终对这4个用法处于混淆状态,今天写个帖子来警示下自己 // slice(start,end),从start值开始截取到end前的元素组成新的数组,不改变原数组 // slice(index ...

  8. javascript中slice() splice() concat()操作数组的方法

    这三个操作数组,哪个返回一个新数组呢.上代码 splice()方法,用于插入,删除和替换. var arr=[1,2,3,4,5]; var arr1=arr.splice(1,3); console ...

  9. JavaScript 字符串操作:substring, substr, slice

    在 JavaScript 中,对于字符串的操作有 substring, substr, slice 等好多个内置函数,这里给大家推荐一篇介绍 substring, substr, slice 三者区别 ...

随机推荐

  1. 前端--CSS之使用display:inline-block来布局(转)

    CSS之使用display:inline-block来布局   css之display:inline-block布局 1.解释一下display的几个常用的属性值,inline , block, in ...

  2. BZOJ 3509: [CodeChef] COUNTARI

    3509: [CodeChef] COUNTARI Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 883  Solved: 250[Submit][S ...

  3. EntityFramework4.1 MODEL代码生成器 database first

    原文发布时间为:2011-04-02 -- 来源于本人的百度文章 [由搬家工具导入] Generating EF Code First model classes from an existing d ...

  4. PE文件格式---节和节表

    17.1.4  节表和节 从排列位置来看,PE文件在DOS部分和PE文件头部分以后就是节表和多个不同的节(如图17.1中的③和④所示).要理解什么是节表,什么是节以及它们之间的关系,那就首先要了解Wi ...

  5. SaltStack 模块学习之拷贝master服务器上文件和目录到minion服务器

    一. cp.get_file实现从master端复制文件到minion服务器的文件中cp.get_file 1. 修改/etc/salt/master ,指定server 工作的根目录   file- ...

  6. CentOS 7系统添加启动项

    CentOS 7系统已经把CentOS 6的 runlevel 系统服务管理替换成了systemd.在 /etc/rc[0-6S].d 下添加启动项已经不能在系统启动的时候自动执行,需要通过新的 sy ...

  7. 使用Powerdesigner生成设计的数据表(一张或多张)的测试数据

    设计表完成以后,我们需要生成一些测试数据,可以直接更新到数据库中,下面我们就来试试: 第一步:建立需要的Profiles测试文件,[Model]--[Test Data Profiles],如图所示: ...

  8. 常用的Linux系统命令

    一.linux简介                                                                                            ...

  9. 网站防火墙探测工具Wafw00f

     网站防火墙探测工具Wafw00f 现在网站为了加强自身安全,通常都会安装各类防火墙.这些防火墙往往会拦截各种扫描请求,使得测试人员无法正确判断网站相关信息.Kali Linux提供了一款网站防火墙探 ...

  10. cdq分治解决区间问题

    如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. 第二行包含 ...