洗数据

作者: 李昂李三光 | 来源:发表于2018-11-01 18:08 被阅读0次

从ajax请求回来的数据,经常是没有进行分类的,但是有时候需要进行分类,就必须做一件事,那就是洗数据


经过洗数据之后组件能够分类显示

在洗数据的时候,需要把数据结构进行改造,以方便组件在页面的渲染

{
  [
      {
          comingTitle:"11月1日 周四",
          items:[{...},{...},...]
      },
      {
          comingTitle:"11月2日 周五",
          items:[{...},{...},...]
      }
  ]
}

这种结构里面嵌套了两层数组,很显然这并不适合组件的渲染,需要将结构再次改造

{
    11月1日 周四:{
          comingTitle:"11月1日 周四",
          items:[{...},{...},...]
      },
    11月2日 周五:{
          comingTitle:"11月2日 周五",
          items:[{...},{...},...]
      }
}

这种结构相对起来就清晰很多,因此以下代码就会实现这种结构

在mounted钩子里面定义一个处理数据的内部函数

            _handleList(coming){
//              console.log(coming);
                var obj={}
                coming.forEach((el)=>{
//                  属性名默认为undefined,取反成为布尔值就变成true
                    if(!obj[el.comingTitle]){
//                      将日期赋值给对象的键名
                        obj[el.comingTitle]={
                            comingTitle:el.comingTitle,
//                          创建数组,稍后将内容转移至数组
                            items:[]
                        }
                    }
//                  将内容转移至数组
                    obj[el.comingTitle].items.push(el)
                })
//              console.log(obj)
//              组件内定义好的对象名指向完成的对象
                this.handleObj=obj;
                console.log(obj)
            }

处理获取下来的数据

            _initData(baseUrl){
                        return new Promise((resolve,reject)=>{
                            var xhr = new XMLHttpRequest();
                            xhr.open("GET",baseUrl);
                            xhr.send();
                            xhr.addEventListener("readystatechange",function(){
                                if(xhr.readyState==4){
                                    if(xhr.status==200){
                                        resolve(xhr.response);
                                    }
                                }
                                
                            })
                        }).then((res)=>{
                            this.list=JSON.parse(res).movieList;
//                          this.comingTitle=this.list[0].comingTitle;
                            this._handleList(this.list)
                            
                        })
                    }

在页面使用双重循环,就能够渲染出分类的效果

    <div v-for="(value,key) in handleObj">{{value.comingTitle}}
    <div v-for="(item,index) in value.items">{{item.nm}}</div>

相关文章

  • 洗数据

    从ajax请求回来的数据,经常是没有进行分类的,但是有时候需要进行分类,就必须做一件事,那就是洗数据 在洗数据的时...

  • 洗数据

    什么是洗数据 洗数据指的是程序员写代码主动修改某些数据,非用户行为, 比如根据某些业务数据生成新列、某列中A值洗成...

  • WEB__backend--MongoDb

    mongodb database server--存储数据databases--仓库,对一类数据的抽象处理(eg洗...

  • 洗,洗

    经济高速运转,发展 城市凸起倾斜,整体的开始不平 在市中心最高处的建筑,大玉米旁 女儿边走边说现代化,高科技 傍晚...

  • 基础爬虫

    爬虫流程:爬虫的原理:url -> html -> model (洗数据) -> 分析 依赖的包requests ...

  • 静态面板数据分析

    静态面板数据的主要问题 横截面异方差 序列自相关 横截面同期相关 基础工作 屡次失败的经验表明,洗数据和看数据是非...

  • 当百度统计遇到数据观 | 数据洗一洗 分析更健康

    文:数据观 https://www.shujuguan.cn/?from=jianshu [摘要]: 数据清洗在数...

  • MapReduce Shuffle 和 Spark Shuffl

    更多大数据技术干货,欢迎关注“大数据技术进阶”微信公众号。 Shuffle简介 Shuffle的本意是洗牌、混洗的...

  • mysql in优化

    今天洗数据,需要收集表里order与创建时间(月份)的对应关系,一个order可能对应多个时间。 由于表里数据超过...

  • D34 洗 洗 洗

    阳光明媚的今天 洗了整整一晾衣杆的衣服 大部分手洗 还刷了7双鞋 保养了1双鞋 厉害了 寄几个儿! 忙忙碌碌忙完后...

网友评论

      本文标题:洗数据

      本文链接:https://www.haomeiwen.com/subject/vinxxqtx.html