首页 > 代码库 > js字典操作

js字典操作

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>javascript字典数据结构Dictionary实现</title>
    <script src=http://www.mamicode.com/"JS/jquery-easyui-1.5/jquery.min.js"></script>
    <script>
        function Dictionary() {
            var items = {};

            this.has = function (key) {
                return key in items;
            };

            this.set = function (key, value) {
                items[key] = value;
            };

            this.remove = function (key) {
                if (this.has(key)) {
                    delete items[key];
                    return true;
                }
                return false;
            };

            this.get = function (key) {
                return this.has(key) ? items[key] : undefined;
            };

            this.values = function () {
                var values = [];
                for (var k in items) {
                    if (this.has(k)) {
                        values.push(items[k]);
                    }
                }
                return values;
            };

            this.clear = function () {
                items = {};
            };

            this.size = function () {
                var count = 0;
                for (var prop in items) {
                    if (items.hasOwnProperty(prop)) {
                        ++count;
                    }
                }
                return count;
            };

            this.getItems = function () {
                return items;
            };
        }

        var dictionary = new Dictionary();
        dictionary.set(Gandalf, gandalf@email.com);
        dictionary.set(John, johnsnow@email.com);
        dictionary.set(Tyrion, tyrion@email.com);

        console.log(dictionary.has(Gandalf));
        console.log(dictionary.size());

        //console.log(dictionary.keys());
        console.log(dictionary.values());
        console.log(dictionary.get(Tyrion));


        dictionary.remove(John);

        console.log(dictionary.values());
        console.log(dictionary.get(Tyrion));
    </script>
</head>
<body>

    <form id="form1" runat="server">
        <div>
        </div>
    </form>
</body>
</html>

 

js字典操作