gpt4 book ai didi

javascript - 如何解构有时被接收为 null 的对象属性

转载 作者:行者123 更新时间:2023-12-02 22:11:50 27 4
gpt4 key购买 nike

我在下面有一个通过 API 接收的对象,但有时 SimplesNacional 属性为 null。仅当它不是 null 时,我该如何解构(??)它,因为它有一些嵌套属性会在解构中破坏我的程序?

这是对象:

const {
Retorno: {
ReceitaPJ: {
NumeroInscricao: numeroInscricao,
Matriz: matriz,
DataAbertura: dataAbertura,
NomeEmpresarial: nomeEmpresarial,
NomeFantasia: nomeFantasia,
NaturezaJuridica: naturezaJuridica,
SituacaoCadastral: situacaoCadastral,
},
SimplesNacional: {
SituacaoSimplesNacional: situacaoSimplesNacional,
SituacaoSIMEI: situacaoSIMEI,
SimplesNacionalPeriodosAnteriores: simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
DataConsulta: dataConsulta,
},
CadastroPJ: {
Telefones: telefones,
Enderecos: enderecos,
Emails: emails,
Socios: socios,
},
},
} = response;

这是用法:

result.data = {
cadastroPJ: {
numeroInscricao,
matriz,
dataAbertura,
nomeEmpresarial,
nomeFantasia,
naturezaJuridica,
situacaoCadastral,
},
simplesNacional: {
nomeEmpresarial,
situacaoSimplesNacional,
situacaoSIMEI,
simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
dataConsulta,
},
telefones: telefones.map((x) => ({
numero: x.TelefoneComDDD,
})),
enderecos: enderecos.map((x) => ({
logradouro: x.Logradouro,
numero: x.Numero,
bairro: x.Bairro,
cidade: x.Cidade,
uf: x.UF,
cep: x.CEP,
})),
emails: emails.map((x) => ({
endereco: x.EnderecoEmail,
})),
socios: socios.map((x) => ({
documento: x.Documento,
nome: x.Nome,
percentualParticipacao: x.PercentualParticipacao,
dataEntrada: x.DataEntrada,
})),
};

Visual Studio Code 终端显示:

Cannot destructure property SituacaoSimplesNacional of undefined or null.

因为属性SimplesNacionalnull .

最佳答案

const {
Retorno: {
ReceitaPJ: {
NumeroInscricao: numeroInscricao,
Matriz: matriz,
DataAbertura: dataAbertura,
NomeEmpresarial: nomeEmpresarial,
NomeFantasia: nomeFantasia,
NaturezaJuridica: naturezaJuridica,
SituacaoCadastral: situacaoCadastral,
},
SimplesNacional,
CadastroPJ: {
Telefones: telefones,
Enderecos: enderecos,
Emails: emails,
Socios: socios,
},
},
} = response

if (SimplesNacional) {
var {
SituacaoSimplesNacional: situacaoSimplesNacional,
SituacaoSIMEI: situacaoSIMEI,
SimplesNacionalPeriodosAnteriores: simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
DataConsulta: dataConsulta,
} = SimplesNacional
}

只需两步即可完成

编辑:如果你想使用 const...

const {
SituacaoSimplesNacional: situacaoSimplesNacional,
SituacaoSIMEI: situacaoSIMEI,
SimplesNacionalPeriodosAnteriores: simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
DataConsulta: dataConsulta,
} = (SimplesNacional || {})

但无论如何,深入对象稍后会抛出错误......

关于javascript - 如何解构有时被接收为 null 的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59534036/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com