当前位置:Gxlcms > JavaScript > jQuery数组处理方法汇总

jQuery数组处理方法汇总

时间:2021-07-01 10:21:17 帮助过:4人阅读

$.each(array, [callback])遍历,很常用
代码如下:
  1. <br>var arr = ['javascript', 'php', 'java', 'c++', 'c#', 'perl', 'vb', 'html', 'css', 'objective-c']; <br>$.each(arr, function(key, val) { <br>// firebug console <br>console.log('index in arr:' + key + ", corresponding value:" + val); <br>// 如果想退出循环 <br>// return false; <br>}); <br> <br>$.grep(array, callback, [invert])过滤,常用 <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>var temp = []; <br>temp = $.grep(arr, function(val, key) { <br>if(val.indexOf('c') != -1) <br>return true; <br>// 如果[invert]参数不给或为false, $.grep只收集回调函数返回true的数组元素 <br>// 反之[invert]参数为true, $.grep收集回调函数返回false的数组元素 <br>}, false); <br>console.dir(temp); <br> <br>$.map(array, [callback])用的不是太多 <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>//1.6之前的版本只支持数组 <br>temp = $.map(arr, function(val, key) { <br>//返回null,返回的数组长度减1 <br>if(val === 'vb') return null; <br>return val; <br>}); <br>console.dir(temp); <br>//1.6开始支持json格式的object <br>var obj = {key1: 'val1', key2: 'val2', key3: 'val3'}; <br>temp = $.map(obj, function(val, key) { <br>return val; <br>}); <br>console.dir(temp); <br> <br>$.inArray(val, array)判断是否在指定数组中,常用 <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>//返回元素在数组中的位置,0为起始位置,返回-1则未找到该元素 <br>console.log($.inArray('javascript', arr)); <br> <br>$.merge(first, second)合并两个数组,使用频率一般 <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>var frontEnd = ['javascript', 'css', 'html'], <br>backEnd = ['java', 'php', 'c++']; <br>// 这种方式会修改第一个参数, 即frontEnd数组 <br>temp = $.merge(frontEnd, backEnd); <br>console.dir(temp); <br>console.dir(frontEnd); <br>// 可以用下面的方式来避免对原数组的影响 <br>// $.merge($.merge([], frontEnd), backEnd); <br> <br>$.unique(array)过滤数组中的重复元素,不常用 <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br><DIV>blahblahblah....</DIV> <br><DIV></DIV> <br><DIV class=dup></DIV> <br><DIV class=dup></DIV> <br><DIV class=dup></DIV> <br><DIV></DIV> <br>// $.unique只支持DOM元素数组,去除重复DOM元素,不支持其他类型数组(String或者Number) <br>// 获得原始的DOM数组,而不是jQuery封装的 <br>var divs = $('div').get(); <br>// 增加几个class为dup的div <br>divs = divs.concat($('div.dup').get()); <br>console.log("before unique:" + divs.length); <br>divs = $.unique(divs); <br>console.log("after unique:" + divs.length); <br> <br>$.makeArray(obj)将类数组对象转成数组,不常用 <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>//首先什么是类数组对象?jQuery官网上用divs = getElementsByTag('div')来做例子 <br>//这个divs有类似数组的一些方法比如length,通过[index]方式获取元素等 <br>//然后通过$.makeArray(divs)使它转为数组,就可以用数组的其他功能 <br>//比如reverse(), pop()等 <br> <br>$(dom).toArray()将jQuery集合恢复成DOM数组,不常用 <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br> <br>//跟makeArray一样,相当的不常用,一般情况可以忽略 <br>本文参考Mr.Think的blog,在此感谢分享</li><li> </li><li> </li></ol></pre></li></ol></pre></li></ol></pre></li></ol></pre></li></ol></pre></li></ol></pre></li></ol></pre>

人气教程排行