JS中数组和字符串具有的方法,以及substring,substr和slice的用法与区别
String 对象属性
属性 |
描述 |
constructor |
对创建该对象的函数的引用 |
字符串的长度 |
|
prototype |
允许您向对象添加属性和方法 |
String 对象方法
方法 |
描述 |
创建 HTML 锚。 |
|
用大号字体显示字符串。 |
|
显示闪动字符串。 |
|
使用粗体显示字符串。 |
|
返回在指定位置的字符。 |
|
返回在指定的位置的字符的 Unicode 编码。 |
|
连接字符串。 |
|
以打字机文本显示字符串。 |
|
使用指定的颜色来显示字符串。 |
|
使用指定的尺寸来显示字符串。 |
|
从字符编码创建一个字符串。 |
|
检索字符串。 |
|
使用斜体显示字符串。 |
|
从后向前搜索字符串。 |
|
将字符串显示为链接。 |
|
用本地特定的顺序来比较两个字符串。 |
|
找到一个或多个正则表达式的匹配。 |
|
替换与正则表达式匹配的子串。 |
|
检索与正则表达式相匹配的值。 |
|
提取字符串的片断,并在新的字符串中返回被提取的部分。 |
|
使用小字号来显示字符串。 |
|
把字符串分割为字符串数组。 |
|
使用删除线来显示字符串。 |
|
把字符串显示为下标。 |
|
从起始索引号提取字符串中指定数目的字符。 |
|
提取字符串中两个指定的索引号之间的字符。 |
|
把字符串显示为上标。 |
|
把字符串转换为小写。 |
|
把字符串转换为大写。 |
|
把字符串转换为小写。 |
|
把字符串转换为大写。 |
|
toSource() |
代表对象的源代码。 |
返回字符串。 |
|
返回某个字符串对象的原始值。 |
Array 对象属性
属性 |
描述 |
返回对创建此对象的数组函数的引用。 |
|
设置或返回数组中元素的数目。 |
|
使您有能力向对象添加属性和方法。 |
Array 对象方法
方法 |
描述 |
连接两个或更多的数组,并返回结果。 |
|
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
|
删除并返回数组的最后一个元素 |
|
向数组的末尾添加一个或更多元素,并返回新的长度。 |
|
颠倒数组中元素的顺序。 |
|
删除并返回数组的第一个元素 |
|
从某个已有的数组返回选定的元素 |
|
对数组的元素进行排序 |
|
删除元素,并向数组添加新元素。 |
|
返回该对象的源代码。 |
|
把数组转换为字符串,并返回结果。 |
|
把数组转换为本地数组,并返回结果。 |
|
向数组的开头添加一个或更多元素,并返回新的长度。 |
|
返回数组对象的原始值 |
一、substring,substr和slice比较
1.substring
substring() 方法用于提取字符串中介于两个指定下标from和to之间的字符,返回的子串包括 开始 处的字符,但不包括 结束 处的字符。。
语法:string.substring(from, to)
参数 | 描述 |
---|---|
from | 必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。(负参数都直接转换为0) |
to | 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
注意:
1.strvar.substring(from[, to])将返回一个包含从 from到to(不包含 to)的子字符串的字符串。
2.substring 方法使用 from和 to两者中的较小值作为子字符串的起始点。例如,
strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。
3.如果 from或 to为 NaN 或者负数,那么将其替换为0。
4.子字符串的长度等于 from和 to之差的绝对值。例如,在 strvar.substring(0, 3) 和
strvar.substring(3, 0) 返回的子字符串的的长度是 3。
5.字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推。
2.slice
slice(start, end) 方法可提取从start(包含) 到 end(不包含)字符串的某个部分,并以新的字符串返回被提取的部分。
语法:string.slice(start,end)
参数值
参数 | 描述 |
---|---|
start | 必须. 要抽取的片断的起始下标。第一个字符位置为 0 |
end | 可选。 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置(=将此负数与字符串的长度相加得到的正向索引)。 |
返回值
类型 | 描述 |
---|---|
String | 提取的字符串 |
注意: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。=将此负数与字符串的长度相加得到的正向索引。
3.substr
substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。
语法:string.substr(start,length)
参数值
参数 | 描述 |
---|---|
start | 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推(=将此负参数与字符串长度相加后的结果作为第一个参数)。 |
length | 可选。子串中的字符数。必须是数值。如果 length 为 0 或负数,将返回一个空字符串;如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。 |
返回值
类型 | 描述 |
---|---|
String | A new string containing the extracted part of the text |
注意:
1.stringvar.substr(start [, length ])的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
2.在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。ECMAscript 没有对该方法进行标准化,因此反对使用它。
3.substr() 方法不会改变源字符串。
总结不同点
1.第二个参数不同
2.当接收的索引参数是负数时:
slice会将它字符串的长度与对应的负数相加,结果作为参数;
substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;
substring则干脆将负参数都直接转换为0。
总结相同点
如果只是写一个参数,三者的作用都是一样的:截取字符串当前下标以后直到字符串最后的字符串片段。
二、slice和splice比较
1.slice语法
参数 Values
参数 | 描述 |
---|---|
start | 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
end | 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
返回值
Type | 描述 |
---|---|
Array | 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。 |
2.splice语法
参数 Values
参数 | 描述 |
---|---|
index | 必需。规定从何处添加/删除元素。 该参数是开始插入和(或)删除的数组元素的下标,必须是数字。 |
howmany | 必需。规定应该删除多少元素。必须是数字,但可以是 "0"。 如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。 |
item1, ..., itemX | 可选。要添加到数组的新元素 |
返回值
Type | 描述 |
---|---|
Array | 如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。 |
JS中数组和字符串具有的方法,以及substring,substr和slice的用法与区别的更多相关文章
- js中数组去重的几种方法
js中数组去重的几种方法 1.遍历数组,一一比较,比较到相同的就删除后面的 function unique(arr){ ...
- JS中数组和字符串的方法大全
数组的方法很多,ECMScript5又提供了好几种方法.有空把之前的云上的笔记整理了一下,方便自己以后查找使用. 一.ECMScript 3的Array.prototype中定义的方法 1.join( ...
- JS中数组和字符串方法的简单整理
一.数组: 数组的基本方法: 1.增:arr.unshift() /push() 前增/后增 2.删:arr.shift() /pop ...
- js中数组、字符串、日期、数学API方法一览
以下内容摘选自 http://www.w3school.com.cn/jsref/jsref_obj_array.asp 点击方法新窗口打开详解 数组: 方法 描述 concat() 连接两个或更多的 ...
- js中数组的字符串表示
<html> <head> <title>数组的字符串表示</title> <script type="text/javascript& ...
- 【js中数组和字符串的相互转换】
一.数组转字符串 //数组转字符串 var a, b; a = new Array(0,1,2,3,4); b = a.join(","); //得到字符串 二.字符串转数组 // ...
- js中数组和字符串的方法总结
一.数组方法简单总结为以下几种 1.原有: 增.删.改.截.拼.复.排.转 2.ES5扩展: 查.遍历 增: 前增 ,,,,]; console.log(arr.unshift(,,[ console ...
- JS中数组与对象的遍历方法实例小结
一.数组的遍历: 首先定义一个数组 1 arr=['snow','bran','king','nightking']; 1.for循环,需要知道数组的长度; 2.foreach,没有返回值,可以不知道 ...
- js中数组遍历的几种方法及其区别
参考网站: http://www.cnblogs.com/lvmh/p/6104397.html 第一种最常用的:for循环 for(j = 0; j < arr.length; j++) { ...
随机推荐
- Android 学习1
使用eclipse做为开发IDE, 导包快捷键 在显红的地方按shift+ctrl+o 另外自动补全使用alt+/
- linux 命令缩写
su super user apt advanced packaging tool ifconfig interface configuration so shared object fsp frac ...
- C语言的函数调用过程(栈帧的创建与销毁)
从汇编的角度解析函数调用过程 看看下面这个简单函数的调用过程: int Add(int x,int y) { ; sum = x + y; return sum; } int main () { ; ...
- Ubuntu设置DNS服务
有时候安装完Ubuntu系统,源换好好还是不能更新,软件也不能下, 配置好IP,ping 1.1.1.1是通的,ping 域名就不通了,这是没有DNS解析域名的结果 一.Server版: 对于Ubun ...
- 第一篇 数据库MySql
数据库的简介 数据库:存储数据的仓库 数据库管理系统软件 常见的数据库管理软件:甲骨文的oracle,IBM的db2,sql server, Access,Mysql(开源,免费,跨平台). 关系型数 ...
- java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理
一.问题描述 项目开发使用的是SSM框架,项目那个正常运行,开发一个新功能后,添加了一些配置文件,再重新运行项目抛出异常,找不到name为init的bean. 二.异常信息详细 六月 30, 2018 ...
- Linux内核学习笔记(3)-- 进程的创建和终结
一. 进程创建: Unix 下的进程创建很特别,与许多其他操作系统不同,它分两步操作来创建和执行进程: fork() 和 exec() .首先,fork() 通过拷贝当前进程创建一个子进程:然后,ex ...
- JAVA学习笔记--策略设计模式与适配器模式
一.策略设计模式 创建一个能够根据所传递对象的不同而具有不同行为的方法被称为策略设计模式:这类方法包含所要执行的算法中固定不变的部分,而“策略”包含变化的部分.策略就是传递进去的参数对象,它包含要执行 ...
- List<T>.Distinct()
) }; //使用匿名方法 List<Person> delegateList = personList.Distinct(new Compar ...
- Linux虚拟机centos系统安装
linux 其他知识目录 安装完后如果虚拟机网络不通请参考:虚拟机网络不通故障解决 1.centos6.9安装 后面安装出了点问题,ip没有并且eth0网卡找不到,不过重新配置ifcfg-eth0后重 ...