繁体   English   中英

理解javascript中的切片

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM