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++) { ...
随机推荐
- Ceph学习之路(二)之Ceph的工作原理及流程
一.RADOS的对象寻址 Ceph 存储集群从 Ceph 客户端接收数据——不管是来自 Ceph 块设备. Ceph 对象存储. Ceph 文件系统.还是基于 librados 的自定义实现——并存储 ...
- 解析hdr图像文件的python实现
如题 import cv2 import numpy as np def rgbe2float(rgbe): res = np.zeros((rgbe.shape[0],rgbe.shape[1],3 ...
- replace与replaceAll的区别
这两者有些人很容易搞混,因此我在这里详细讲述下. replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了 ...
- 抓包工具Charles学习总结
最近由于工作需要对App进行测试,功能方面还好说,但是在网络测试方面遇到了一些问题.由于公司App是使用https进行通信,直接在路由器上抓包下来,数据包都是加密的,没法看到接口返回的内容,给测试的B ...
- git clone、git pull和git fetch的用法及区别
声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...
- selenium,unittest——下拉菜单操作,百度账号设置修改
#encoding=utf-8from selenium import webdriverimport time,unittest, re,sysfrom HTMLTestRunner import ...
- 【Java】 秒转时分秒天
总有时候会有些需求, 需要用到秒, 比如 JedisCluster 设置过期时间 现在有一个需求是 : 查询接口的缓存设置有效期为:1天+随机时间 基本可以按以下来做: package com.lwc ...
- 深入了解MySQL存储索引
(一)关于存储引擎 创建合适的索引是SQL性能调优中最重要的技术之一.在学习创建索引之前,要先了解MySql的架构细节,包括在硬盘上面如何组织的,索引和内存用法和操作方式,以及存储引擎的差异如何影响到 ...
- JavaScript事件冒泡和捕获
事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件. 事件冒泡是自下而上的去触发事件. 绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获.true,事件捕获:fa ...
- 高可用Kubernetes集群-11. 部署kube-dns
参考文档: Github介绍:https://github.com/kubernetes/dns Github yaml文件:https://github.com/kubernetes/kuberne ...