博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery自定义数组操作类(类似于List集合的增删改查)
阅读量:4876 次
发布时间:2019-06-11

本文共 3650 字,大约阅读时间需要 12 分钟。

js外部文件,前提需要引入jquery类库。

封装类代码如下:

(function ($) {    $.List = function () {        var _list = new Array();        //外部为数组赋值        this.GetDataSource = function (arr) {            if (IsArrayType(arr)) {                _list = arr;            } else {                alert("指定元素非数组类型,赋值失败!");            }        };        //添加一个元素        this.Add = function (arg) {            if (arg) {                _list.push(arg);            } else {                alert("参数错误,添加元素失败!");            }            return _list;        };        //删除指定索引的元素        this.RemoveAt = function (index) {            if (IsArrayIndex(index) && index < _list.length) {                var i;                var arr = new Array();                for (i = 0; i < _list.length; i++) {                    if (i != index) {                        arr.push(_list[i]);                    }                }                _list = arr;                return _list;            }            else {                alert("未获取到设置对象的实例,删除元素失败!");            }        };        //按照指定的分割符显示出所有元素        this.Split = function (arg) {            arg = arg || ",";            var i, res;            res = "";            if (_list.length > 0) {                for (i = 0; i < _list.length; i++) {                    res += _list[i].toString() + arg;                }                return res.substr(0, (res.length - arg.toString().length));            } else {                return "";            }        };        //外部调用直接返回当前数组实力        this.ToArray = function () {            return _list;        };        //设置指定索引处的值为指定值        this.Update = function (index, value) {            if (IsArrayIndex(index) && index < _list.length) {                _list[index] = value;            }            return _list;        };        //清空所有元素        this.RemoveAll = function () {            _list.splice(0, _list.length);            return _list;        };        //根据传入的值获取第一次出现在数组中的下标        this.IndexOf = function (value) {            if (value) {                var i;                for (i = 0; i < _list.length; i++) {                    if (_list[i] == value) {                        return i;                    }                }            }            return -1;        };        //获取数组长度        this.Size = function () {            return _list.length;        };        //移除数组中重复的项        this.RemoveRepeat = function () {            _list.sort();            var rs = [];            var cr = false;            for (var i = 0; i < _list.length; i++) {                if (!cr)                    cr = _list[i];                else if (cr == _list[i])                    rs[rs.length] = i;                else                    cr = _list[i];            }            for (var i = rs.length - 1; i >= 0; i--)                this.RemoveAt(rs[i]);            return _list;        };        //对数字数组元素排序,参数:0升序1降序        this.SortNumber = function (f) {            if (!f) f = 0;            if (f == 1) return _list.sort(function (a, b) { return b - a; });            return _list.sort(function (a, b) { return a - b; });        };        //私有方法        //判断正确的数组下标        function IsArrayIndex(index) {            var reg = /^\d+$/;            if (reg.test(index))                return true;            else                return false;        }        //判断当前对象是否为数组对象        function IsArrayType(arr) {            if (typeof arr == 'object' && typeof arr.length == 'number')                return true;            else                return false;        }    }; //结束List的构造方法})(jQuery);
View Code

页面调用时需要引入两个js文件:

        
View Code

 

转载于:https://www.cnblogs.com/donchen/p/10122777.html

你可能感兴趣的文章
jquery 处理密码输入框(input type="password" ) 模仿placeholder
查看>>
移动端touch触摸事件(滑动效果和手势操作)
查看>>
HTTP、TCP、 UDP、 IP 、 Socket的关系
查看>>
Linux终端使用技巧——个人总结
查看>>
简单通用线程池的实现
查看>>
KMP算法详解
查看>>
2019.4.27
查看>>
Linux 操作
查看>>
【3】JAVA---地址App小软件(AddPanel.class)(表现层)
查看>>
Java中的代理模式
查看>>
一个linux守护进程的编写(Ubuntu环境下)
查看>>
Leetcode-1002 Find Common Characters(查找常用字符)
查看>>
面向对象编程(基础)
查看>>
AOJ 802.运输宝物
查看>>
android studio C/C++ jni 编写以及调试方法
查看>>
Oracle RMAN 的 show,list,crosscheck,delete命令整理
查看>>
JMeter属性和变量
查看>>
java之文件操作
查看>>
数据库基本语句大全
查看>>
模仿smarty迷你类代码
查看>>