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

编程入门 行业动态 更新时间:2024-10-08 08:30:36

在NodeJS / Express中保留2个<a href=https://www.elefans.com/category/jswz/34/1771306.html style=对象的值"/>

在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。当您更新问题时,我已经更新了我的初始答案。

更多推荐

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

本文发布于:2024-05-07 05:13:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754437.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:对象   NodeJS   Express

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!