<!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="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>



本文转载:CSDN博客