最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在NodeJSExpress中保留2个对象的值

网站源码admin22浏览0评论

在NodeJS / Express中保留2个对象的值

在NodeJS / Express中保留2个对象的值

我有2个对象:

const  totalConso =  [ 
      { horoseason: 'BASE', value: 0 },          
      { horoseason: 'HPH', value: 0 },
      { horoseason: 'HCH', value: 0 },
      { horoseason: 'HPE', value: 5853.16 },
      { horoseason: 'HCE', value: 4460.99 } 
    ] 

 const  totalAutoConso =   [ { horoseason: 'HPH', value: 0 },
      { horoseason: 'HCH', value: 0 },
      { horoseason: 'HPE', value: 2354.62 },
      { horoseason: 'HCE', value: 0 } 
    ]

我想休息一下他们的价值。

我可以那样做,但是看起来并不优雅

   onst totalConsoBase = totalConso.filter(it => it.horoseason === "BASE").shift()
const totalAutoConsoBase = totalAutoConso.filter(it => it.horoseason === "BASE").shift()

const totalConsoHPH = totalConso.filter(it => it.horoseason === "HPH").shift()
const totalAutoConsoHPH = totalAutoConso.filter(it => it.horoseason === "HPH").shift()

const totalConsoHCH = totalConso.filter(it => it.horoseason === "HCH").shift()
const totalAutoConsoHCH = totalAutoConso.filter(it => it.horoseason === "HCH").shift()

const totalConsoHPE = totalConso.filter(it => it.horoseason === "HPE").shift()
const totalAutoConsoHPE = totalAutoConso.filter(it => it.horoseason === "HPE").shift()

const totalConsoHCE = totalConso.filter(it => it.horoseason === "HCE").shift()
const totalAutoConsoHCE = totalAutoConso.filter(it => it.horoseason === "HCE").shift()
console.log(totalConsoBase, totalAutoConsoBase, totalConsoHPH, totalAutoConsoHPH)

const totalGridConso = [
    {
        horoseason: "BASE",
        value: typeof totalConsoBase !== 'undefined' ? totalConsoBase.value - totalAutoConsoBase.value : null
    }, {
        horoseason: "HPH",
        value: typeof totalConsoHPH !== 'undefined' ? totalConsoHPH.value - totalAutoConsoHPH.value : null
    }, {
        horoseason: "HCH",
        value: typeof totalConsoHCH !== 'undefined' ? totalConsoHCH.value - totalAutoConsoHCH.value : null
    }, {
        horoseason: "HPE",
        value: typeof totalConsoHPE !== 'undefined' ? totalConsoHPE.value - totalAutoConsoHPE.value : null
    }, {
        horoseason: "HCE",
        value: typeof totalConsoHCE !== 'undefined' ? totalConsoHCE.value - totalAutoConsoHCE.value : null
    },
]

有什么办法可以改善我的代码?

回答如下:

您可以对数组使用JavaScript map函数。

对于您的更新示例,我将提出以下内容:

map

此解决方案假定您的const totalGridConso = totalConso.map(x => { const totalAutoConsoValue = totalAutoConso.filter(y => y.horoseason == x.horoseason).shift() return { horoseason: x.horoseason, value: typeof totalAutoConsoValue != 'undefined' ? x.value - totalAutoConsoValue.value : null } }) 没有两个具有相同totalAutoConso类型的对象。

P.S。当您更新问题时,我已经更新了我的初始答案。

发布评论

评论列表(0)

  1. 暂无评论