checkbox 数据整合 js

UI是这样的

img


img


Stock 和 Cash 必须选择一个,也可以两个都选
当选择Stock的时候,HongKong和Oversea要显示,同时,HongKong和Overs要至少选择一个,也可以选择两个
当选择Cash的时候,HongKong和Oversea的值要清空,同时隐藏

有两组数据,结构是这样的

Type: {
      data: [
        {label: 'Stock',name: 'isStk', value: false },
        {label: 'Cash',name: 'isCash', value: false },
      ],
    },
Market: {
      data: [
        {label: 'Hong Kong',name: 'isHk', value: false },
        {label: 'Oversea',name: 'isOvs', value: false },
      ],
    },

请问有什么简便的方法,把数据整合成下面这样,发给后台。不管怎么样apiData里都要给这四个值。

apiData = {
  isStk: true,
  isCash: false,
  isHk: true,
  isOvs: true,
}

遍历下Type和Market节点组合即可

img


    d = {
        Type: {
            data: [
                { label: 'Stock', name: 'isStk', value: false },
                { label: 'Cash', name: 'isCash', value: false },
            ],
        },
        Market: {
            data: [
                { label: 'Hong Kong', name: 'isHk', value: false },
                { label: 'Oversea', name: 'isOvs', value: false },
            ],
        },
    }

    apiData = {}

    d.Type.data.concat(d.Market.data).forEach(item => { apiData[item.name] = item.value; });

    alert(JSON.stringify(apiData,null,2))

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632