substring | substr | slice | splice
区别:
substring翻译为中文是:
- 子串;子链
- 网络释义:截取字符串中的子串
- string.substring(start,end);end 可以为空;strat必须为非负整数
substr翻译为中文是:
- 子串函数;字符截取函数;取字符串的子串
- 网络释义:取字符串中的子串
- string.substr(start,length);length 可以为空; strat可以为负数
slice翻译为中文是:
1. 薄片;部分;菜刀,火铲
2. 网络释义:切片
3. string.slice(start,end);end可以为空;start可以为负整数
共同处:
- 均是String对象下的方法,三者均会创建新字符串,不影响原有字符串
- 这三个方法都会返回被操作字符串的一个子字符串,而且也都接受一或两个参数。
- 第一个参数指定子字符串的开始位置,第二个参数(在指定的情况下)表示子字符串到哪里结束。
- 具体来说,slice()和 substring()的第二个参数指定的是子字符串后一个字符后面的位置。而 substr()的第二个参数指定的则是返回的字符个数。如果没有给这些方法传递第二个参数,则将字符串的长度作为结束位置。
- 与concat()方法一样,slice()、substr()和 substring()也不会修改字符串本身的值——它们只是 返回一个基本类型的字符串值,对原始字符串没有任何影响
const myStr = "我是内容,我将被截取?";
myStr.substring(2,7) //内容,我将
myStr.substr(2,7)//内容,我将被截
myStr.slice(2,7)//内容,我将
myStr.substring(2) //内容,我将被截取?
myStr.substr(2)//内容,我将被截取?
myStr.slice(2)//内容,我将被截取?
myStr.substring(-2,7) //我是内容,我将
myStr.substr(-2,7)//取?
myStr.slice(-2,7)//""
数组下的两个相似同胞:
slice 和 splice
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
++arrayObject.splice(index,howmany,item1,…..,itemX)++
参数 | 描述 |
---|---|
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
item1, …, itemX | 可选。向数组添加的新项目。 |
注释:该方法会改变原始数组。
slice() 方法可从已有的数组中返回选定的元素。
返回值: 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
说明: 请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
var myArr = [1,2,3,45,6,67,8];
myArr.splice(2,1,"sky");//[1, 2, "sky", 45, 6, 67, 8]
myArr.splice(2,0,"blue");//[1, 2, "blue", 3, 45, 6, 67, 8]
myArr.slice(2,4);//["blue", 3]
myArr.slice(2,0);//[]
欢迎指正谢谢!