Creates a new List or String containing a subset (slice) of the elements.
array_or_string_expression | slice:start[:end]
Where the input expression is a List
or String
, and:
start
: The starting index of the subset to return.start
index and all items after in the list or string expression.start
index from the end and all items after in the list or string expression.end
: The ending index of the subset to return.end
index of the list or string.end
index from the end of the list or string.All behavior is based on the expected behavior of the JavaScript API Array.prototype.slice()
and String.prototype.slice()
.
When operating on a [List], the returned list is always a copy even when all the elements are being returned.
When operating on a blank value, the pipe returns the blank value.
This ngFor
example:
@Component({ selector: 'slice-list-pipe', template: `<ul> <li *ngFor="let i of collection | slice:1:3">{{i}}</li> </ul>` }) export class SlicePipeListComponent { collection: string[] = ['a', 'b', 'c', 'd']; }
produces the following:
<li>b</li>
<li>c</li>
@Component({ selector: 'slice-string-pipe', template: `<div> <p>{{str}}[0:4]: '{{str | slice:0:4}}' - output is expected to be 'abcd'</p> <p>{{str}}[4:0]: '{{str | slice:4:0}}' - output is expected to be ''</p> <p>{{str}}[-4]: '{{str | slice:-4}}' - output is expected to be 'ghij'</p> <p>{{str}}[-4:-2]: '{{str | slice:-4:-2}}' - output is expected to be 'gh'</p> <p>{{str}}[-100]: '{{str | slice:-100}}' - output is expected to be 'abcdefghij'</p> <p>{{str}}[100]: '{{str | slice:100}}' - output is expected to be ''</p> </div>` }) export class SlicePipeStringComponent { str: string = 'abcdefghij'; }
exported from common/index defined in common/src/pipes/slice_pipe.ts
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://angular.io/docs/ts/latest/api/common/index/SlicePipe-pipe.html