任何人都可以幫我讓它作業......
這個片段有效
const acco = [{FullyQualifiedName=(-) Imposto Unico, Id=109, sparse=true, AcctNum=3.1.2.01.03027}, {FullyQualifiedName=13o Salário, Id=114, sparse=true, AcctNum=4.1.2.04.04062}, {Id=94, AcctNum=2.1.3.01.02183, FullyQualifiedName=13o 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 13o Salário a Pagar
但是下面的這個片段回傳 undefined
const acco = [{FullyQualifiedName=(-) Imposto Unico, Id=109, sparse=true, AcctNum=3.1.2.01.03027}, {FullyQualifiedName=13o Salário, Id=114, sparse=true, AcctNum=4.1.2.04.04062}, {Id=94, AcctNum=2.1.3.01.02183, FullyQualifiedName=13o 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 undefined
我相信會發生這種情況,因為最后一個暫存器沒有 AcctNum,但是我如何跳過它?對不起,如果我遺漏了一些太明顯的東西。
uj5u.com熱心網友回復:
只需o.AcctNum在您的過濾功能中先檢查一下。那將解決您的問題。我還修復了您代碼中的其他一些錯別字。
const acco = [
{FullyQualifiedName : "Imposto Unico", Id:109, sparse:true, AcctNum:"3.1.2.01.03027"},
{FullyQualifiedName:"13o 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})
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/339405.html
標籤:javascript 数组 谷歌应用程序脚本
