js 通过固定的数组 过滤对应数组数据 而后得到一个新的数组

js 通过固定的数组 过滤对应数组数据 而后得到一个新的数组_第1张图片

选择时间这八个理论上也不是固定的 但是这里看成是固定的 右边的dataList里的数据要和选择时间的八个数据一一对应 有值的话把score赋值给由它演变过来的新数组 最终得到看下图

js 通过固定的数组 过滤对应数组数据 而后得到一个新的数组_第2张图片

      let xData = this.checkedTimes //选中的时间
      //塑造新数组
      let newYearArr = xData.map(function(item){
        return {
          name: item,
          data: [],
          type: 'line',
          symbol: 'circle', //将小圆点改成实心 不写symbol默认空心
          symbolSize: 8, //小圆点的大小
        }
      })
      console.log(newYearArr)
      let classDataList = this.detectStatistics.classDataList
      //班级综合得分比对
      for(let i in newYearArr){
        for(let j in classDataList){  
          let result = classDataList[j].dataList.filter(item => item.yearName == newYearArr[i].name);     
          if(result.length > 0){
            newYearArr[i].data.push(result[0].score)
          }else{
            newYearArr[i].data.push(0)
          }
        }
      }
      console.log(newYearArr)

有点抽象 记录用的 我自己也说不清楚

你可能感兴趣的:(js,javascript,前端,开发语言)