J'ai besoin d'avoir l'index d'un objet dans le tableau pour pouvoir supprimer cette partie du tableau. J'ai essayé d'utiliser ceci:
var index = this.urenRegistratie.indexOf(newDatum);
Mais il revient sans cesse -1 et je ne sais pas pourquoi cela se produit.
c'est la partie du code que j'ai. il récupère les données d'un formulaire en html et les place dans mon tableau, maintenant j'ai déjà une instruction if prête (exisitingDatum), mon code doit y être. Quelqu'un peut-il m'aider un peu?
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) {
}
}
Une solution simple et élégante consiste à utiliser _. IsEqual , qui effectue une comparaison approfondie à l'aide de la bibliothèque lodash
Package Npm - https://www.npmjs.com/package/lodash
const a = [
{ firstName: "Adam", LastName: "Howard" },
{ firstName: "Ben", LastName: "Skeet" },
{ firstName: "Joseph", LastName: "Skeet" }
];
const find = { firstName: "Joseph", LastName: "Skeet" }
index = a.findIndex(x => _.isEqual(x, find));
console.log(index);