【发布时间】:2021-02-08 20:33:47
【问题描述】:
我想创建一个“自定义数组”,它接受开始和结束索引并从中生成一个数组。我对 javascript 类的了解相当有限,但我对 Java 相当了解。我不知道如何扩展一个类(我一直收到错误)所以我想出了以下内容:
class RangedArray{
constructor(startNum, endNum){
this.startNum = startNum;
this.endNum = endNum;
this.timeslot = this.createTimeslot();
}
createTimeslot(){
let index = 0;
let arr = [];
for (let num = this.startNum; num <= this.endNum; num++) {
arr[index] = num;
index++;
}
return arr;
}
}
这段代码做我想做的事,但是如果我想访问我的数组,我必须做这样的事情
let obj = new RangedArray(4, 21);
let timeslot1 = obj.timeslot;
理想的做法是在一行中执行此操作。我的意思是我希望能够像使用它一样
let obj = new RangedArray(4, 21);
obj[0] = 1;
就像我说的,我认为这可以通过扩展 Array 类来完成,但我不知道该怎么做。我基本上想覆盖 RangedArray 类中的常规数组构造函数。那么我需要做什么才能获得这个功能呢?
【问题讨论】:
标签: javascript arrays class