在JavaScript中有类似mulitiSet的东西吗?

时间:2015-08-21 04:12:08

标签: javascript set red-black-tree multiset

我知道JavaScript现在有sets,但是我想知道是否有什么东西可以实现 multiSet 的功能,或者是否有一些框架具有multiset的功能我真的需要很多。

或者我必须自己编写代码才能进行红黑树的研究?

2 个答案:

答案 0 :(得分:1)

没有内置的多集结构,但there are some libraries有这样的结构:

随意在此问题中添加您喜欢的图书馆。

答案 1 :(得分:0)

您可以使用内置地图类型和数值构建自己的多重集:

class Multiset {
    _backing = new Map();
    add(value) {
        if (this._backing.has(value)) {
            this._backing.set(value, 1 + this._backing.get(value));
        } else {
            this._backing.set(value, 1);
        }
    }

    delete(value) {
        if (this._backing.get(value) > 0) {
            this._backing.set(value, this._backing.get(value) - 1);
        } else {
            //do nothing
        }
    }

    get(value) {
        if (this._backing.get(value) > 0) {
            return this._backing.get(value);
        } else {
            return 0;
        }
    }
}