JS中如何定义一下类,可以像数组一样用[n]读写?
时间: 2024-03-11 14:48:16 浏览: 13
在JS中,可以通过定义一个类的`get`和`set`方法,实现像数组一样使用`[n]`读写操作。以下是一个示例代码:
```javascript
class MyArray {
constructor() {
this.length = 0;
this.data = {};
}
get(n) {
return this.data[n];
}
set(n, value) {
this.data[n] = value;
this.length++;
}
}
```
在上面的代码中,我们定义了一个`MyArray`类,它有一个`data`属性来存储数据,还有一个`length`属性来记录数据的长度。在`get`方法中,我们可以通过`this.data[n]`获取指定下标的元素值;在`set`方法中,我们可以通过`this.data[n] = value`设置指定下标的元素值,并且在设置完成后将`length`属性加1。
现在我们可以使用以下代码来测试我们的类:
```javascript
const myArray = new MyArray();
myArray.set(0, 'Hello');
myArray.set(1, 'World');
console.log(myArray.get(0)); // Output: 'Hello'
console.log(myArray.get(1)); // Output: 'World'
console.log(myArray.length); // Output: 2
```
我们可以看到,我们成功地将`MyArray`类定义成了一个可以像数组一样使用`[n]`读写操作的类。