为了账号安全,请及时绑定邮箱和手机立即绑定

我想问一下,为什么slice(1,2)出来的是“爱”,而slice(1,3)出来的是“爱你”,不是应该是第几个再“-1”的吗?

http://img1.sycdn.imooc.com//57fa22cc0001336c04980220.jpg

document.write(myarr1.slice(1,2));


正在回答

3 回答

因为end不会被选取,


0 回复 有任何疑惑可以回复我~

像这种区间,目前为止,我看到的都是左合右开的,不包含右区间;

为什么slice(1,2)出来的是“爱”,而slice(1,3)出来的是“爱你”,

.如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

这里的end按正常来说,就是数组.length-1;那么例题中end应该是2;而slice(1,3),end是3,已经大于myarr1.length-1;那么,我认为就可以这样理解:既然end>myarr1.length-1,那这个end规定与否就没啥太大意义,那么就可以变相理解为end未被规定,那么就可以参照上面的原则了

1 回复 有任何疑惑可以回复我~

记住一点  不管是 substring substr indexOf 等等的  取前不去后  例如(1,2) 取1不取2

“爱”也可以这样取slice(-2,-3)

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我想问一下,为什么slice(1,2)出来的是“爱”,而slice(1,3)出来的是“爱你”,不是应该是第几个再“-1”的吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信