繁体   English   中英

使用reduceRight删除数组中的最后一个元素

[英]Using reduceRight to remove last element in Array

我有一种方法可以添加新的日期列表,以便用户可以要求下班时间。 现在,我正在尝试为用户提供一种从底部开始删除日期列表,并根据需要向上移动日期列表的方法,但始终将第一个日期保留在那里。 任何建议,将不胜感激

这是两种方法的代码。

  dates = [1]

  onAddClicked() {
    this.dates.push(1);
  }

  onRemoveClicked() {
    this.dates.reduceRight(this.onAddClicked,);
  }

这是按钮的html

<div class=modButtons>
                <button (click)="onAddClicked()" mat-raised-button color="primary">Add Dates+</button>
                <button (click)="onRemoveClicked()" mat-raised-button color="primary">Remove Dates-</button>            
            </div>

我得到的错误是

Argument of type '() => void' is not assignable to parameter of type '(previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number'.
  Type 'void' is not assignable to type 'number'

例如字段

尝试使用

this.dates.pop();

如果您还想保存该元素,则将pop()的结果分配给某个变量:)

好吧,如果您不想删除所有内容,那么可以做一些魔术,例如

if(this.dates.length > 1) this.dates.pop();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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