jQuery 操作数组

<meta charset="UTF-8"/>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- jquery 操作数组 -->
<script type="text/javascript">
    $(function () {
        var _mozi=['a1','a2','a3','a4','a5']; //本文所用到的数组, 下同
        //var _mozi = {"0":"a1","1":'a2','2':'a3','3':'a4'}

        /********************************************************************
         *  数组的循环
         ********************************************************************/
        //each
        $.each(_mozi,function(key,val){
            //console.log('键:'+key+'=====>值=====>'+val)
        });
        //grep
        $.grep(_mozi,function (val,key) {
            //console.log('键:'+key+'=====>值=====>'+val)
        });
        //for(){}遍历数组
        for(var i = 0;i<_mozi.length;i++){
            //console.info(_mozi[i])
        }
        // for in
        for(var i in _mozi){
            //console.info(_mozi[i])
        }
        // forEach 循环对象的时候会报错{} http://blog.csdn.net/oscar999/article/details/8671546
        _mozi.forEach(function (e) {
            //console.info(e)
        })

        var _moziGt1=$.grep(_mozi,function(val,key){
            return key>1;
        },false); // 第三个参数 对返回值取反
        //console.info(_moziGt1)
        var _mapArrA=$.map(_mozi,function(val){
            return val+'[新加]';
        });
        var _mapArrB=$.map(_mozi,function(val){
            return val=='a1' ? '[只给a1]'+val : val;
        });
        var _mapArrC=$.map(_mozi,function(val){
            //为数组元素扩展一个新元素
            return [val,val+'[扩展]'];
        });
        // console.info(_mapArrC)

        // 数组查找
        //var _exist=$.inArray('a1',_mozi); // 如果找到的,返回的是一个大于或等于0的值,若未找到则返回-1

        // 数组合并
        //var res = $.merge(_mozi,['aaaa','bbbbb','ccccc']);
        //console.info(res);

        // reverse:将数组反序
        // var res = _mozi.reverse();

        // 将数组转字符串 用,号隔开
        //var str_arr = _mozi+[];
        //join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
        //var res=_mozi.join();
        //_mozi.toString()
        /**
         数组转字符串  字符串转数组
         var res = _mozi.join('-');
         var s='a,v,c,dw,d,s,ar,a2'; sarr = s.split(',');
         * */

        // 删除数组第一个和最后一个元素pop 删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
        //var arr = _mozi.pop()
        //var arr = _mozi.shift()
        //自定义删除 与修改
        // 从下标0的开始删除  删除2个  并且吧't1','t2','t3' 插入到删除了的元素位置上
        // var b = _mozi.splice(0,2,'t1','t2','t3'); // b 返回删除了的元素
        //var b = a.splice(0,1); //同shift
        //a.splice(0,0,-2,-1); var b = a.length; //同unshift
        //var b = a.splice(a.length-1,1); //同pop
        //a.splice(a.length,0,6,7); var b = a.length; //同push

        //slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
        //var res = _mozi.slice(2);

        // 数组添加
        // 开头添加 unshift
        // 尾部添加 push
        // 尾部添加 concat
        // var res = _mozi.unshift('test1','test2')// 在原数组上添加
        // var res = _mozi.unshift(['test1','test2'])// 在原数组上添加一个数组
        //push 遇到数组参数时,把整个数组参数作为一个元素;而 concat 则是拆开数组参数,一个元素一个元素地加进去。
        //push 直接改变当前数组;concat 不改变当前数组。

        // 数组修改
        // 根据某个条件修改
        /*var _mapArrB=$.map(_mozi,function(val,key){
            return (key>=1 && key<=3) ? '[只给a1]'+val : val;
        });
        console.info(_mapArrB)*/

        /**
         * 查找数组包含的字符串  返回数组下标
         */
        function arrayFindString(arr,string)
        {
            var str = arr.join("");
            return str.indexOf(string);
        }
        /**
         * 把数组转换成特定符号分割的字符串
         */
        function arrayToString(arr,separator)
        {
            if(!separator) separator = "";//separator为null则默认为空
            return arr.join(separator);
        }

        /**
         * 把数组转json 对象
         */
        $.fn.stringify = function() {
            return JSON.stringify(this);
        }
        var s= $(_mozi).stringify();
    });
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值