¿Alguien puede ayudarme a hacer que esto funcione ...
Este fragmento funciona
const acco = [{FullyQualifiedName=(-) Imposto Unico, Id=109, sparse=true, AcctNum=3.1.2.01.03027}, {FullyQualifiedName=13º Salário, Id=114, sparse=true, AcctNum=4.1.2.04.04062}, {Id=94, AcctNum=2.1.3.01.02183, FullyQualifiedName=13º Salário a Pagar, sparse=true}, {Id=90, FullyQualifiedName=Adiantamento de Férias, sparse=true} var payacc = '2.1.3.01.02183'; var accDC = acco.filter(o => o.AcctNum === payacc); if (accDC.length != 0) { var accvalid = accDC[0].AcctNum + ' ' + accDC[0].FullyQualifiedName; } //accvalid = 2.1.3.01.02183 13º Salário a PagarPero este fragmento a continuación devuelve indefinido
const acco = [{FullyQualifiedName=(-) Imposto Unico, Id=109, sparse=true, AcctNum=3.1.2.01.03027}, {FullyQualifiedName=13º Salário, Id=114, sparse=true, AcctNum=4.1.2.04.04062}, {Id=94, AcctNum=2.1.3.01.02183, FullyQualifiedName=13º Salário a Pagar, sparse=true}, {Id=90, FullyQualifiedName=Adiantamento de Férias, sparse=true} var payacc = '02183'; var accDC = acco.filter(o => o.AcctNum.includes(payacc)); if (accDC.length != 0) { var accvalid = accDC[0].AcctNum + ' ' + accDC[0].FullyQualifiedName; } returns TypeError: Cannot read property 'includes' of undefinedCreo que esto sucede porque no hay AcctNum para el último registro, pero ¿cómo puedo omitir esto? Lo siento si me estoy perdiendo algo demasiado obvio.
Simplemente verifique o.AcctNum primero en su función de filtro. Eso resolverá tu problema. También arreglé algunos otros errores tipográficos en su código.
const acco = [ {FullyQualifiedName : "Imposto Unico", Id:109, sparse:true, AcctNum:"3.1.2.01.03027"}, {FullyQualifiedName:"13º Salário", Id:114, sparse:true, AcctNum:"4.1.2.04.04062"}, {Id:94, AcctNum:"2.1.3.01.02183", FullyQualifiedName:"a Pagar", sparse:true}, {Id:90, FullyQualifiedName:"Adiantamento de Férias", sparse:true}] var payacc = '2.1.3.01.02183'; var accDC = acco.filter(o => o.AcctNum && o.AcctNum === payacc); if (accDC.length !== 0) { var accvalid = accDC[0].AcctNum + ' ' + accDC[0].FullyQualifiedName; console.log({accvalid}) }