首页 > 代码库 > 数组与对象基本操作(JQuery)

数组与对象基本操作(JQuery)

首先呢,你要理解什么是数组什么是对象。

数组(array):是一种有序的值的集合。

对象(object):是一种无序的属性集合,每个属性都有自己的名字和值。

$符号是JQuery符

 1 jQuery.each(object, [callback])     遍历数组或对象 2 参数: 3 object:需要例遍的对象 或数组。 4 callback:每个成员/元素执行的回调函数。 5 遍历数组: 6  $.each(["q", "w", "e", "r"], function (i, n) {    //遍历数组each() 7              alert("item :" + i + ":" + n)          //i为数组序号,n为对应的值 8             }) 9 10 11 12 遍历对象:13  $.each({ name: "qqj", lang: "js" }, function (i, n) {   14              //  遍历对象  {name:name , value:qqj}15               alert("name:" + i + "\nvalue:" + n);  //i为名字  n为值16            })
jQuery.extend([deep], target, object1, [objectN])  扩展对象

用一个或多个其他对象来扩展一个对象,返回被扩展的对象。

如果不指定target,则给jQuery命名空间本身进行扩展。这有助于插件作者为jQuery增加新方法。 如果第一个参数设置为true,则jQuery返回一个深层次的副本,递归地复制找到的任何对象。否则的话,副本会与原对象共享结构。 未定义的属性将不会被复制,然而从对象的原型继承的属性将会被复制。

target:一个对象,如果附加的对象被传递给这个方法将那么它将接收新的属性,如果它是唯一的参数将扩展jQuery的命名空间。

object1:待合并到第一个对象的对象。

objectN:待合并到第一个对象的对象。

 var ob1 = { name: "qq", age: 25, tt: "uenuhs", qq: 676373 };            var ob2 = { name: "rain", age: 33, ww: "ww", ee: "ee" };            $.extend(ob1, ob2);                                          //扩充对象 ,相同属性,以后面修改,前一个没有则添加            var text = "";            $.each(ob1, function (i, n) {       //i 为名字 ,n为值                text += ("name:" + i + "value:" + n+“\n”);            })
//输出为name:name
value:rain
name:age
value:33
name:tt
value:uenuhs
name:qq
value:676373
name:ww
value:ww
name:ee
value:ee
jQuery.grep(array, callback, [invert])

使用过滤函数过滤数组元素。

array:待过滤数组。

callback:此函数将处理数组每个元素。第一个参数为当前元素,第二个参数而元素索引值。此函数应返回一个布尔值。

invert:如果 "invert" 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当"invert" 为 true,则返回过滤函数中返回 false 的元素集。

1 $.grep( [0,1,2], function(n,i){  //n为数组值 ,i为数组序号2   return n > 0;3 });      //默认为false    返回满足条件的数组
View Code
jQuery.makeArray(obj)

将类数组对象转换为数组对象。

类数组对象有 length 属性,其成员索引为 0 至 length - 1。实际中此函数在 jQuery 中将自动使用而无需特意转换。

1 <div>First</div><div>Second</div><div>Third</div><div>Fourth</div>       //这个在HTML中为4个DIV元素2 var arr = jQuery.makeArray(document.getElementsByTagName("div"));3 arr.reverse(); // 使用数组翻转函数4 结果:Fourth5 Third6 Second7 First
View Code
jQuery.map(arr|callback)

 将一个数组中的元素转换到另一个数组中。

array:待转换数组。

callback :为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。函数可返回任何值。

1      var arr=[3,4,5,6,7,8]    2  var arr3 = $.map(arr, function (n) {      //返回ARR数组经过处理之后的新数组 map3                 return n + 2;            n为数组元素值4             });5             $.each(arr3, function (n, i) {      6                      alert( i);      //输出5,6,7,8,9,10           7             })
View Code
jQuery.inArray(value,array,[fromIndex])

 查找一个元素在数组中的位置

value:用于在数组中查找是否存在的元素

array:被查找数组。

fromIndex:用来搜索数组队列,默认值为0。

1 var arr=["qq","ww","ee","rr",3,6,9];2 $.inArray("qq",arr);     //返回 0  ,第一个序号值3 $.inArray("ee",arr,3)   //返回-1,从3的位置开始检索 ,-1表示没有找到4 $.inArray("rr",arr)    //返回3    ,在数组中序号3
View Code
jQuery.merge(first,second)

合并两个数组

first:第一个待处理数组,会改变其中的元素。

second:第二个待处理数组,不会改变其中的元素。

1 var arr1=["a","b","c"];2 var arr2=[1,2,3];3 $.merge(arr1,arr2);    //将arr2附加到 arr1中4    //则arr1为arr1=["a","b","c",1,2,3];    arr2=[1,2,3]  不变
View Code