我需要在数组中具有对象的索引,以便可以删除数组的这一部分。我尝试使用此:

var index = this.urenRegistratie.indexOf(newDatum);

但是它一直返回-1,我不知道为什么会这样。

这是我的代码的一部分。它从html表单中获取数据并将其放入我的数组中,现在我已经准备好了if语句(exisitingDatum),我的代码需要放在其中。有人可以帮我一下吗?
 store(newValue:number, newDatum, newAanwezig, newComment){
    const existingDatum = this.urenRegistratie.find(billable => {
      return billable.datum === newDatum;
      return
    });

    if (!existingDatum) {
        let billable = new BillableHours();
        billable.datum = newDatum;
        billable.hours = +newValue;
        billable.aanwezig = newAanwezig;
        billable.comment = newComment;

        if(billable.aanwezig == "Aanwezig" && billable.hours !== 0 && billable.datum !== null) {
          this.urenRegistratie.push(billable);
        }
    }

    if(existingDatum) {

    }

  }

最佳答案

As mdn says:



如果您有这样的对象数组,请尝试使用findIndex:

const a = [
{ firstName: "Adam", LastName: "Howard" },
{ firstName: "Ben", LastName: "Skeet" },
{ firstName: "Joseph", LastName: "Skeet" }];

index = a.findIndex(x => x.LastName === "Skeet");

console.log(index);

10-06 09:49