[英]Understanding slice in javascript
请考虑以下字符串:
const str = "I am a good boy"
在,索引7 = g At,indedx 10 = d但是当我使用时,splice方法为字符串,它接受两个参数即开始索引,结束索引,所以当我使用
const result = str.slice(7, 10)
console.log(result)
我期待它返回good
但它只返回goo
为什么这样,即使在索引10,d存在?
根据W3学校
slice()提取字符串的一部分,并在新字符串中返回提取的部分。
该方法采用2个参数:起始索引(位置)和结束索引(位置)。
从MDN文档中 , endIndex
(second)参数是在结束从源字符串中提取之前的索引。
将结束索引放在所需内容之后的位置是有用的,因为它使数学运算更容易一些。 如果你想要从位置i
开始的三个字符,你可以使用source.slice(i, i+3)
。
可以想象它是如何在数学范围内起作用的,有包含边界的边界和不包括边界的边界,即范围可以是以下之一,
封闭范围 - (1,10)即范围2 - 9,不包括指数1和10
开放范围 - [1,10]即范围1 - 10,包括1和10。
半开 - [1,10]或(1,10),即第一个范围从1开始但从9结束,第二个范围从2开始到10结束。
因此,拼接函数采用形式[a,b)的半开范围,其中它包括第一个但在下边界处闭合,即它不包括下边界。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.