Mis_claire
2018-03-29 16:58
<script type="text/javascript">
var myarr1= ["我","爱","你"];
document.write(myarr1.slice(1,3));
</script>
为什么是slice(1,3)) 而不是slice(1,2) 呀?
定义:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
这么记忆:包左不包右。
start和end都是下标.
左闭右开[)
根据定义来看,如果说写成slice(1,2)那就意味着结果是一个字“爱”,而不是2个字“爱”“你”。因为角标数字“2”对应的确实是汉字“你”,但是定义中提到不包括“该元素”,也就是不包括第二个角标对应的内容,所以你写“2”是找不到“你”的。
返回一个新的数组,包含从 start 到 end (不包括该元素),的 arrayObject 中的元素。
你可以把3改成myarr1.length试试看,slice(a,b)是从a到b-1范围,因为长度和下标对应是错一个,这里是myarr1[0],myarr1[1],myarr1[2],然而长度确实3
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题