问答

修改嵌套数组里面的某个属性值

作者:admin 2021-05-07 我要评论

现在我有这样一个数组 [ { "sectionVId":"1", "sectionName":"一等票", "season":[ { "seasonVId":"1", "seasonName":"8点-12点", "ticket":[ { "ticketVId":"1"...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

现在我有这样一个数组

[
    {
        "sectionVId":"1",
        "sectionName":"一等票",
        "season":[
            {
                "seasonVId":"1",
                "seasonName":"8点-12点",
                "ticket":[
                    {
                        "ticketVId":"1",
                        "ticketName":"儿童票",
                        "outerProductCode":"123456789"
                    },
                    {
                        "ticketVId":"2",
                        "ticketName":"儿童票",
                        "outerProductCode":"123456789"
                    },
                    {
                        "ticketVId":"3",
                        "ticketName":"老人票",
                        "outerProductCode":"1234567890"
                    }
                ]
            },
            {
                "seasonVId":"2",
                "seasonName":"12点-17点",
                "ticket":[
                    {
                        "ticketVId":"4",
                        "ticketName":"儿童票",
                        "outerProductCode":"123456789"
                    },
                    {
                        "ticketVId":"5",
                        "ticketName":"儿童票",
                        "outerProductCode":"123456789"
                    }
                ]
            }
        ]
    },
    {
        "sectionVId":"3",
        "sectionName":"三等票",
        "season":[
            {
                "seasonVId":"1",
                "seasonName":"8点-12点",
                "ticket":[
                    {
                        "ticketVId":"6",
                        "ticketName":"儿童票",
                        "outerProductCode":"123456789"
                    },
                    {
                        "ticketVId":"7",
                        "ticketName":"儿童票",
                        "outerProductCode":"123456789"
                    }
                ]
            }
        ]
    }
]

希望提供一个方法可以修改到outerProductCode的值。用遍历感觉有些不太好

###

在所有数据中,如果outerProductCode都是一样的,则应该考虑在单独的地方放置这个吧。

###
    const arr = [];// 数据数组
    const ticket = [];
    for (let section of arr) {
      for (let season of section.season) {
        ticket = ticket.concat(season.ticket);// 提取ticket
      }
    }
    const arrObj = {};
    arr.forEach((item) => (arrObj[item.ticketVId] = item)); // 设置键对
    
    function changeCode(id, code) {
      arrObj[id].outerProductCode = code;
    }
###
 console.log(JSON.parse(JSON.stringify(data).replace(/(.+?outerProductCode":")(.+?)(")/g, (p0, p1, p2, p3) => p1 + "gogoing" + p3)));

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 修改嵌套数组里面的某个属性值

    修改嵌套数组里面的某个属性值

  • 一个vue组件打包问题。

    一个vue组件打包问题。

  • readline 逐行同步读取,  for await of

    readline 逐行同步读取, for await of

  • 在 vue 的原型上注入配置文件,配置文

    在 vue 的原型上注入配置文件,配置文

腾讯云代理商
海外云服务器