Javascript JS-实例化后从类返回值

Javascript JS-实例化后从类返回值,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在查看下面的代码,并希望在调用以下代码时按相反顺序返回teams数组。不幸的是,此代码无法更改 返回Array.fromNewTeamsCollection.join',' 我知道我可以将构造函数更改为以下内容: constructor(){ return this.teams.reverse(); } 正如您在下面看到的,我无法编辑构造函数,因此我肯定还遗漏了其他内容。在阅读了数不清的堆栈溢出答案并搜索了在线资源后,我不知道该怎么办。有什么想法吗?请参见下面的代码 class

我正在查看下面的代码,并希望在调用以下代码时按相反顺序返回teams数组。不幸的是,此代码无法更改

返回Array.fromNewTeamsCollection.join','

我知道我可以将构造函数更改为以下内容:

 constructor(){
    return this.teams.reverse();
 }
正如您在下面看到的,我无法编辑构造函数,因此我肯定还遗漏了其他内容。在阅读了数不清的堆栈溢出答案并搜索了在线资源后,我不知道该怎么办。有什么想法吗?请参见下面的代码

class TeamsCollection {
    get teams() {
        return [
            'Liverpool',
            'Chelsea',
            'Barca'
        ]
    }

    // The constructor cannot be changed
    constructor(){
        return this
    }
}
您应该从函数中重写

class TeamsCollection {
    get teams() {
        return [
            'Liverpool',
            'Chelsea',
            'Barca'
        ]
    }

    // The constructor cannot be changed! Do not edit!
    constructor(){
        return this
    }
}

var oldFrom = Array.from;
Array.from = function(obj , mapFunc ) {
  if(obj && Array.isArray(obj.teams)) {
    if(mapFunc) {
      return obj.teams.map(mapFunc);
    }
    return obj.teams
  }
  return oldFrom(obj , mapFunc)
}

console.log(Array.from(new TeamsCollection()).join(","))
console.log(Array.from([1,2,3]).join(","))
将iterable对象转换为数组,本练习希望您在TeamsCollection上实现:


尝试返回Array.fromnew TeamsCollection.teams.join','很遗憾,我无法更改此设置这是一个练习还是一个真正的问题?
class TeamsCollection {
    get teams() {
        return ['Liverpool', 'Chelsea', 'Barca']
    }

    *[Symbol.iterator]() {
        yield* this.teams.reverse(); // or write a decrement loop that yields the elements
    }
}