$.each($.browser, function(iNum, value) {
//征对数组
document.write("属性" + iNum + "值" + value + "<br>");
});
得值:
属性chrome值true
属性version值39.0.2171.99
属性webkit值true
ii.过滤数据
对于数组中的数据,很多时候开发者需要对其进行筛选,如果使用纯javascript,往往需for循环进行逐一检查。jQuery提供了$.grep()方法。能够便捷的过滤数组的数据。
其语法如下:
$.grep(Array,fn,[invert])
其中,array是需要过滤的数组对象名称,fn为过滤函数,对数组中的每个对象,如果返回true则保留,否则去除。可选的invert为布尔值,如果设置为true.则函数fn取反,满足条件的被去除。
复制代码 代码如下:
var aArray = [2, 3, 4, 7, 9, 8, 2, 2, 4, 2, 3, 6, 9, 0, 3, 4, 2, 5];
var aResult = $.grep(aArray, function(value) {
return value >= 4;
});
document.write(aResult.join());
首先定义了数组aArray,然后用$.grep()方法将值大于等于4挑选出来得到新的数组
例子2,过滤数组的高级方法。
复制代码 代码如下:
<script type="text/javascript">
var aArray = [2, 3, 4, 7, 9, 8, 2, 2, 4, 2, 3, 6, 9, 0, 3, 4, 2, 5];
var aResult = $.grep(aArray, function(value, index) {
//元素的值和value和序号同时判断
return (value >= 4 && index > 3);
});
document.write(aResult.join());
</script>
iii转化数组
很多时候开发者希望某个数组中的元素能够统一的转化,例如将所有的元素都乘以2.虽然在javascript中例如for循环可以实现,但是jQuery提供了更为便利的$.map()方法。这个方法如下
$.map(array,fn)
其中,array为要转化的数组,fn为转化函数,对数组中的每一项都执行,该函数同样可以接受两个函数,1个参数为元素的值。2个参数为元素的序号,是可选参数。
复制代码 代码如下:
<script type="text/javascript">
$(function() {
var aArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i"];
$("p:eq(0)").text(aArray.join());
aArray = $.map(aArray, function(value, index) {
//将数组转化为大写并添加了序号
return (value.toUpperCase() + index);
});
$("p:eq(1)").text(aArray.join());