4 回答
TA贡献1804条经验 获得超3个赞
一个快速的方法就是这样做
<div *ngFor =" let data of array; let i = index">
<p *ngIf="i< 3 || i > array.length - 4 ">{{data}}</p>
</div>
TA贡献1815条经验 获得超13个赞
您可以通过创建包含您的逻辑的自定义管道来尝试。
import {Pipe,PipeTransform} from '@angular/core';
@Pipe({
name: 'arrayfilter',
pure: true
})
export class ArrayFilterPipe implements PipeTransform {
transform(itemsArray: any, args?:any): any {
if(itemsArray.length > 1) {
return itemsArray.filter((_,i,{length}) =>
(i < 3 || i + 3 >= length));
}
}
}
HTML 文件如下所示
<div *ngFor =" let data of sample_array | arrayfilter">
<p>{{data}}</p>
</div>
我希望这会帮助你。
TA贡献1845条经验 获得超8个赞
您可以过滤数组并防止较小数组的重复项。
const
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (const value of array.filter((_, i, { length }) => i < 3 || i + 3 >= length)) {
console.log(value);
}
TA贡献1783条经验 获得超4个赞
<tr *ngFor="let dc of (drdInfo.companyList['data'] | slice:drdInfo.companyList['data'].length - 4)">
添加回答
举报