hackerrank测试题·

通过api获取 某年 参加赛事超过一定次数的名单。

问题:js数组中包含 __ob__: Observer属性

这是 vue中接口请求 使用 push造成的,通过改写使用promise 和 异步 返回一个 promise对象,然后集中在一个函数中处理,

就没有这个问题

!<template>
  <div class="test">
    dddddddddddddddd
  </div>
</template>

<script>
let { log } = console
export default {
  name: 'test',
  data(){
    return{
      list:[]
    }
  },
  mounted () {
    this.test(2015,10)
  },
  methods: {
    news (year,page) {
      let api = `https://jsonmock.hackerrank.com/api/football_matches?competition=UEFA%20Champions%20League&year=${year}&page=${page}`
      return new Promise((resolve) => {
        this.$axios({
          url: api,
          method: "get",
          params: {}
        }).then(res => {
          let data = res.data.data
          resolve(data)
        })
      })
    },
    async test(year,k){
      this.list = []
      let item = []
      for(let i = 1;i<=13;i++){
        let bool = await this.news(year,i)
        bool.forEach(element => {
           if(this.list.length>0&&JSON.stringify(this.list).includes(element.team1)){
             this.list.forEach(el=>{
               if(el.name === element.team1 ){
                 el.counter+=1
               }
             })
           }else{
             let tt = {}
             tt.name = element.team1
             tt.counter = 1
             this.list.push(tt)
           }
           if(this.list.length>0&&JSON.stringify(this.list).includes(element.team2)){
             this.list.forEach(el=>{
               if(el.name === element.team2 ){
                 el.counter+=1
               }
             })
           }else{
             let tt = {}
             tt.name = element.team2
             tt.counter = 1
            this.list.push(tt)
           }
        });
        if(i===13){
          this.list.forEach(el=>{
            if(el.counter>=k){
              item.push(el.name)
            }
          })
        }
      }
      log(item)
    }
  }
}
</script>

<style>
</style>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值