首页 > 解决方案 > 如何在 Class JS 中添加数组声明

问题描述

我需要这个简单代码的帮助,我需要在类 List 中声明 numbers 数组,以便所有方法都可以从内部使用它。

let numbers  = [];

class List {
    add(number) {
        numbers.push(number);
    }
    get(number) {
        let index = numbers[number];
        return index;
    }
    remove(index) {
        numbers.splice(index, 1);
    }
    size() {
        return numbers.length;
    }
}

let list = new List();
list.add(5);
list.add(6);
list.add(7);
console.log(list.get(1));
list.remove(1);
console.log(list.get(1));

标签: javascriptnode.js

解决方案


我想你期待这样的事情:

class List {
	constructor() {
		this.numbers = [];
	}
	
	add(number) {
		this.numbers.push(number);
	}
	
	getIndex(number) {
		return this.numbers.findIndex(item => item === number);
	}
	
	remove(number) {
		this.numbers = this.numbers.filter(item => item !== number);
	}
	
	removeByIndex(index) {
		this.numbers.splice(index, 1);
	}
	
	showNumbers() {
		return this.numbers;
	}
}

let list = new List();
list.add(5);
list.add(6);
list.add(7);
list.add(8);

console.log(list.showNumbers());
list.remove(7);
console.log(list.showNumbers());
list.removeByIndex(list.getIndex(8));
console.log(list.showNumbers());
.as-console-wrapper {min-height: 100%!important; top: 0}


推荐阅读