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

为什么是slice(1,3)) 而不是slice(1,2) 呀?

<script type="text/javascript">
   var myarr1= ["我","爱","你"];
   document.write(myarr1.slice(1,3));
</script>


为什么是slice(1,3)) 而不是slice(1,2) 呀?


正在回答

5 回答

  1. 定义:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

  2. 这么记忆:包左不包右。

  3. start和end都是下标.


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

左闭右开[)

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

根据定义来看,如果说写成slice(1,2)那就意味着结果是一个字“爱”,而不是2个字“爱”“你”。因为角标数字“2”对应的确实是汉字“你”,但是定义中提到不包括“该元素”,也就是不包括第二个角标对应的内容,所以你写“2”是找不到“你”的。

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

返回一个新的数组,包含从 start 到 end (不包括该元素),的 arrayObject 中的元素。

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

你可以把3改成myarr1.length试试看,slice(a,b)是从a到b-1范围,因为长度和下标对应是错一个,这里是myarr1[0],myarr1[1],myarr1[2],然而长度确实3

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

举报

0/150
提交
取消

为什么是slice(1,3)) 而不是slice(1,2) 呀?

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