将多个数组按索引排列成对象格式

将多个数组按索引排列成对象格式

emmm… 我也不知道这叫个啥需求
就是
将这样
在这里插入图片描述
生成这样
在这里插入图片描述

    function repeat (arr, index, obj, title) {
      arr.forEach((item, i) => {
        if (i === index) {
          obj[title] = item
        }
      })
    }
    function sort  (arr1, arr2, arr3, arr4) {
      let arr = []
      arr1.forEach((item,i) => {
        let o = {}
        o.id = item
        this.repeat(arr2, i, o, 'date')
        this.repeat(arr3, i, o, 'str')
        this.repeat(arr4, i, o, 'name')
        arr.push(o)
      })
      return arr
    }
    let id = [1,2,3]
    let date = ['2018', '2019', '2020']
    let str = ['x', 'y', 'z']
    let name = ['a', 'b', 'c']
    console.log(sort(id, date, str, name))
反过来

渲染图表的时候可以用得到吧

就是将这样
在这里插入图片描述

生成这样
在这里插入图片描述

function toObj (arr) {
   let obj = {
     id: [],
     date: [],
     str: [],
     name: []
   }
   arr.forEach((item, i) => {
     obj.id.push(item.id)
     obj.date.push(item.date)
     obj.str.push(item.str)
     obj.name.push(item.name)
   })
   return obj
 }
 let info = [
   { id: 1, date: '2018', str: 'x', name: 'a'},
   { id: 2, date: '2019', str: 'y', name: 'b'},
   { id: 3, date: '2020', str: 'z', name: 'c'}
 ]
 console.log(this.toObj(info))

貌似可复用性不太高
应该有更高级的写法
随便啦
写着玩儿的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值