账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    求实现复杂数据转换
    • 2019-03-29 00:00
    • 10
    50
    0

    我有这么两段数据:

      // 插入时间
      const timeData = ['1:00','2:00','3:00','4:00','5:00':'6:00']
    
      // 源数据
      const sourceData={
        parent1:{
          child1:[1,2,3,4,5,6],
          child2:[11,22,33,44,55,66],
          child3:[111,222,333,444,555,666]
        },
        parent2:{
          child1:[10,20,30,40,50,60],
          child2:[110,220,330,440,550,660],
          child3:[1110,2220,3330,4440,5550,6660]
        },
        parent3:{
          child1:[101,202,303,404,505,606],
          child2:[1101,2202,3303,4404,5505,6606],
          child3:[11101,22202,33303,44404,55505,66606]
        }
      }

    child的key名和数组里面的数字随机,数组长度和时间数组一样 timeData.length === parent['child'].length

    现在需要转换成如下格式的数据:

          // 输出数据
          const outputData = [
                // parent1
               {child1:{value:1}, child2:{value:11}, child3:{value:111}, time:{value:'1:00'}},
               {child1:{value:2}, child2:{value:22}, child3:{value:222}, time:{value:'2:00'}},
               {child1:{value:3}, child2:{value:33}, child3:{value:333}, time:{value:'3:00'}},
               {child1:{value:4}, child2:{value:44}, child3:{value:444}, time:{value:'4:00'}},
               {child1:{value:5}, child2:{value:55}, child3:{value:555}, time:{value:'5:00'}},
               {child1:{value:6}, child2:{value:66}, child3:{value:666}, time:{value:'6:00'}},
    
              // parent2
              {child1:{value:10}, child2:{value:110}, child3:{value:1110}, time:{value:'1:00'}},
              {child1:{value:20}, child2:{value:220}, child3:{value:2220}, time:{value:'2:00'}},
              {child1:{value:30}, child2:{value:330}, child3:{value:3330}, time:{value:'3:00'}},
              {child1:{value:40}, child2:{value:440}, child3:{value:4440}, time:{value:'4:00'}},
              {child1:{value:50}, child2:{value:550}, child3:{value:5550}, time:{value:'5:00'}},
              {child1:{value:60}, child2:{value:660}, child3:{value:6660}, time:{value:'6:00'}},
    
              // parent3
              {child1:{value:101}, child2:{value:1101}, child3:{value:11101}, time:{value:'1:00'},
              {child1:{value:202}, child2:{value:2202}, child3:{value:22202}, time:{value:'2:00'},
              {child1:{value:303}, child2:{value:3303}, child3:{value:33303}, time:{value:'3:00'},
              {child1:{value:404}, child2:{value:4404}, child3:{value:44404}, time:{value:'4:00'},
              {child1:{value:505}, child2:{value:5505}, child3:{value:55505}, time:{value:'5:00'},
              {child1:{value:606}, child2:{value:6606}, child3:{value:66606}, time:{value:'6:00'},
    
          ]

    想了好久卡这儿了,希望有大佬能提供实现方法

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 私守給你的承諾 普通会员 1楼

      在实现复杂数据转换时,我们可以使用编程语言中的函数和类来实现。以下是一个简单的例子,使用Python的pandas库来实现数据转换:

      ```python import pandas as pd

      假设我们有一个包含各种数据的DataFrame

      df = pd.DataFrame({ 'A': ['apple', 'banana', 'cherry'], 'B': ['red', 'green', 'red'], 'C': ['small', 'medium', 'large'] })

      我们可以使用map()函数将字符串转换为整数

      df['D'] = df['A'].map({'a': 1, 'b': 2, 'c': 3})

      我们也可以使用apply()函数将函数应用于DataFrame的每个元素

      df['E'] = df.apply(lambda row: row['B'] + row['C'], axis=1)

      我们还可以使用reduce()函数将两个函数应用于DataFrame的每个元素

      df['F'] = df.apply(lambda row: row['A'] + row['B'], reduce(lambda x, y: x + y, map(lambda x: x + y, zip(row['A'], row['B'])))) ```

      在这个例子中,我们首先创建了一个包含各种数据的DataFrame,然后使用map()函数将字符串转换为整数,使用apply()函数将函数应用于DataFrame的每个元素,最后使用reduce()函数将两个函数应用于DataFrame的每个元素。

      这些函数可以用于各种数据转换,具体取决于你的需求。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部