3 回答
TA贡献151条经验 获得超48个赞
slice()切割数组和字符串时候,有两个参数。
第一个参数是从哪里切割开始,如果是正数,则从前往后数,如果是负数,则从后往前数。这个参数必须写。
第二个参数是切割到哪里,如果是正数,则从前往后数,如果是负数,则从后往前数。这个参数是可选的,就是说可写可不写,不写的话默认切割到最大值。
有些特例,类似你这个5,明显大于字符串字数,所以默认是切割到最后。所以最后输出的是‘老师’,而不是你写的‘老’。
如果你想切割出来一个‘老’,alert(str.slice(-2,3));
然后还有个特例,就是第二个参数指向在第一个参数的前面,这个时候默认切割的是空的。
我用大白话说的,我想你认真读一下,再试一下,应该就会了。
TA贡献39条经验 获得超13个赞
str.slice(beginSlice[, endSlice])
参数
beginSlice
从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做
sourceLength + beginSlice
看待,这里的sourceLength 是字符串的长度
(例如, 如果beginSlice
是 -3 则看作是:sourceLength - 3
)endSlice
可选。在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,
slice
会一直提取到字符串末尾。如果该参数为负数,则被看作是 sourceLength + endSlice,这里的 sourceLength 就是字符串的长度(例如,如果 endSlice 是 -3,则是, sourceLength - 3)。
描述
slice()
从一个字符串中提取字符串并返回新字符串。在一个字符串中的改变不会影响另一个字符串。也就是说,slice
不修改原字符串,只会返回一个包含了原字符串中部分字符的新字符串。
注意:slice()
提取的新字符串包括beginSlice
但不包括 endSlice。
例1:str.slice(1, 4)
提取新字符串从第二个字符到第四个 (字符索引值为 1, 2, 和 3)。
例2:str.slice(2, -1)
提取第三个字符到倒数第二个字符。
例子
使用 slice()
创建一个新的字符串
下面例子使用 slice()
来创建新字符串:
var str1 = 'The morning is upon us.'; var str2 = str1.slice(4, -2); console.log(str2); // OUTPUT: morning is upon u
给 slice()
传入负值索引
下面的例子在 slice()
使用了负值索引:
var str = 'The morning is upon us.'; str.slice(-3); // returns 'us.' str.slice(-3, -1); // returns 'us' str.slice(0, -1); // returns 'The morning is upon us'
添加回答
举报