问答详情
源自:7-21 选定元素slice()

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

http://img.mukewang.com/57fa22cc0001336c04980220.jpg

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


提问者:穆宇 2016-10-09 19:18

个回答

  • qq_灰色头像_17
    2017-08-30 12:16:20

    因为end不会被选取,


  • 慕村1994845
    2016-10-13 18:01:40

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

    为什么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未被规定,那么就可以参照上面的原则了

  • HashTime
    2016-10-09 19:31:56

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

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