Deletar um um objeto de um array em typescript - resolvido

Não consigo achar o objseto idInsumo = 5, dentro do array, para apagar, sendo que ele existe, conforme imagem.

defineFornecedoresValorCorreto(tipo: any, idInsumo: any, valorCorreto: any) {
    const objeto = {
      idInsumo: idInsumo,
      valorCorreto: valorCorreto,
    };
    const insumoEscolhido = this.fornecedoresValorCorreto.filter(
      (obj) => obj.idInsumo === idInsumo
    );
    if (insumoEscolhido.length > 0) {
      this.fornecedoresValorCorreto.splice(0, 1);
    }
    console.log('insumoEscolhido: ' + insumoEscolhido);
    this.fornecedoresValorCorreto.push(objeto);
    this.fornecedoresValorCorreto.forEach((valor: any) => {
      console.log('valor: ' + valor.idInsumo);
      console.log('valorCorreto: ' + valor.valorCorreto);
    });
  }

O que está faltando ?

Consegui assim:

defineFornecedoresValorCorreto(tipo: any, idInsumo: any, valorCorreto: any) {
    const objeto = {
      idInsumo: idInsumo,
      valorCorreto: valorCorreto,
    };
    const result = this.fornecedoresValorCorreto.filter(function (el: any) {
      return el.idInsumo == idInsumo;
    });
    for (let elemento of result) {
      let index = this.fornecedoresValorCorreto.indexOf(elemento);
      this.fornecedoresValorCorreto.splice(index, 1);
    }
    this.fornecedoresValorCorreto.push(objeto);
  }
1 curtida

E dessa forma?

const objeto = {
	idInsumo: idInsumo,
	valorCorreto: valorCorreto,
};

this.fornecedoresValorCorreto = this.fornecedoresValorCorreto.filter(function (el: any) {
	return el.idInsumo != idInsumo;
});

this.fornecedoresValorCorreto.push(objeto);
1 curtida

Vou testar

Evita usar o any no TS. Se fizer isso é mais fácil voltar pro JS.