TheShy被定住了,那追击有点难
2021-09-03 15:51
采纳率: 100%
浏览 47
已结题

怎么可以根据后台返回的数据,把每一月对应的数据放在原数组中

      原数组是这样的,下标为0代表1月的数据为1,下标为1代表2月的数据为3,以此类推

data: [1, 3, 0, 0, 0, 0,0, 0, 0, 0, 0, 0,]

      后台返回的数据是这样的:name代表5月,shu代表5月的数据是2000,

datas:[{name:5,shu:2000},{name:6,shu:7000},{name:7,shu:8000}],

      返回数据不一定,有可能是567月,也有可能是56789月,

     问题:怎么可以根据后台返回的数据,把每一月对应的数据放在原数组中,
  • 好问题 提建议
  • 收藏

5条回答 默认 最新

  • a1767028198 2021-09-03 16:11
    已采纳

    data[datas[key].name - 1] = datas[key].shu
    循环datas就行了

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 崽崽的谷雨 2021-09-03 16:29
    
     let month = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; //月份
            let data = [{ name: 5, shu: 2000 }, { name: 6, shu: 7000 }, { name: 7, shu: 8000 }, { name: 5, shu: 900 }]; //数据
            let a = Fn(month, data);
            console.log(a)
            function Fn(month, data) {
                let v = [];
                month.map((mon) => {
                    let obj = {};
                    obj.name = mon;
                    obj.data = [];
                    v.push(obj);
                })
                data.map((item) => {
                    v.map((item1) => {
                        if (item1.name == item.name) {
                            item1.data.push(item);
                        }
                    })
                })
                return v;
            }
    
    评论
    解决 无用
    打赏 举报
  • 肖无疾 2021-09-03 16:31
    
    for(var i in datas){data[datas[i].name - 1] = datas[i].shu}
    
    评论
    解决 无用
    打赏 举报
  • yedelzx 2021-09-03 16:35

    dates是一个数组,循环它,这个数组的元素是对象(json),每次循环时取到对象的name值和shu值,根据你的意思,如果name是5,shu是2000({name:5,shu:2000}),那么这个值应该放到下标(5-1)上面,将原数组下标(5-1)的位置赋值为2000

    评论
    解决 无用
    打赏 举报
  • 一路向北999 2021-09-03 16:57
    
    private void AAA()
            {
                string[] month = new string[] { "1", "3","0", "0", "0", "0", "0", "0", "0", "0", "0", "0" };
                var data = new List<Info>()
                {
                    new Info() {name =5,shu=2000 },
                    new Info() {name =6,shu=7000 },
                    new Info() {name =7,shu=8000 }
                }.ToArray();
                foreach (var item in data)
                {
                    month[item.name - 1] = item.shu.ToString();
                }
            }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题