首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带负值的角SlicePipe

带负值的角SlicePipe
EN

Stack Overflow用户
提问于 2019-08-25 20:01:38
回答 2查看 1K关注 0票数 0

切片管不包括角数组中的最后一个数字。

我正在做这个项目,需要有角度的切片管。

以下是相同的代码:

代码语言:javascript
复制
<p>{{ [1,2,3,4,5,6] | slice:0:-1 }}</p>

在这种情况下,输出是1,2,3,4,5

我知道用角切片管,不含第二个参数。

没有错误,我期待1,2,3,4,5,6的值

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-25 20:09:09

SlicePipe行为基于JavaScript API Array.prototype.slice()String.prototype.slice()的预期行为。end参数slice提取,但不包括end

JavaScript实例

代码语言:javascript
复制
let a = [1, 2, 3, 4, 5, 6];
a.slice(0, -1);

输出

代码语言:javascript
复制
[1, 2, 3, 4, 5]

用于SlicePipe的角度文档

创建一个新的数组或字符串,其中包含元素的子集(切片)。 使用说明 所有行为都基于JavaScript、API、Array.prototype.slice()String.prototype.slice()的预期行为。 在Array上操作时,即使返回所有元素,返回的Array也始终是副本。 当对空白值进行操作时,管道将返回空白值。

Array.prototype.slice()文档

arr.slice([begin[, end]]) begin -基于零的索引开始提取. end -基于零的索引,在此之前结束提取。slice提取到但不包括end

票数 1
EN

Stack Overflow用户

发布于 2019-08-25 20:31:01

我知道用角切片管,不含第二个参数。

你的说法是不正确的。角有SlicePipe的第二个参数。第一个参数是start,第二个参数(可选)是end。(来源:文档)以下是SlicePipe接受的内容

代码语言:javascript
复制
{{ value_expression | slice : start [ : end ] }}

所有行为都基于JavaScript API Array.prototype.slice()和String.prototype.slice()的预期行为。

您可以确切地看到,当您更改管道start/end值时,这里会发生什么。

如果您也想包含最后一个值,就不要包含一个end

代码语言:javascript
复制
<p>{{ [1,2,3,4,5,6] | slice: 0 }}</p>

如果不传递start值,则slice0开头。考虑到这一点,我们可以重写上面的代码

代码语言:javascript
复制
<p>{{ [1,2,3,4,5,6] | slice }}</p>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57649311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档