可能是我基础真的不太好吧,竟然在类的导出上卡了半天,真的说来惭愧。写下来自我反思吧...
- js类的导出是在类外输入
module.exports = 类名;
导入为:
let variate = new 类名()
- 例子
'use strict'
// 集合
// 集合不能重复元素
class Set {
constructor () {
this.items = {};
}
// 确认是否有值,有则返回true,无则返回false
has (element) {
return this.items.hasOwnProperty(element)
}
// 向集合添加值
add (element) {
if (!this.has(element)) {
this.items[element] = element
return true
} else {
return null
}
}
// 移除值
remove (element) {
// 查看该位置是否有元素
// 有则true 无则false
if (this.has(element)) {
delete this.items[element]
return '移除成功'
}
return '移除失败'
}
// 移除所有值
clear () {
this.items = {};
return '清除成功!'
}
// 返回大小1
size () {
return Object.keys(this.items).length
}
// 返回所有值
values () {
return Object.keys(this.items);
}
}
module.exports = Set;
// 测试
// let set = new Set ()
// set.add(1)
// set.add(2)
// set.add(3)
// set.add(4)
// set.add(5)
// console.log('集合大小为:' + set.size());
// console.log('集合移除1:' + set.remove(1));
// console.log('集合大小为:' + set.size());
// console.log('1确认是否有值:' + set.has(1));
// console.log('2确认是否有值:' + set.has(2));
// console.log('展示所有值:' + set.values(2));
// console.log('清除所有值:' + set.clear());
// console.log('集合大小为:' + set.size());
- 引入类
let Set = require('./set.js');
let set1 = new Set();
set1.add(1)
set1.add(2)
set1.add(3)
set1.add(4)
set1.add(5)
set1.add(6)
console.log(set1.values());