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