JQuery學習10-數組和對象操作

jQuery.each(object, [callback]):通用例遍方法,可用于例遍对象和数组

callback:回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略

例遍数组,同时使用元素索引和内容。
jQuery 代码:
$.each( [0,1,2], function(i, n){
  alert( "Item #" + i + ": " + n );
});

例遍对象,同时使用成员名称和变量内容。
jQuery 代码:
$.each( { name: "John", lang: "JS" }, function(i, n){
  alert( "Name: " + i + ", Value: " + n );
});

jQuery.extend([deep], target, object1, [objectN]):

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

如果不指定target,则给jQuery命名空间本身进行扩展。这有助于插件作者为jQuery增加新方法。

如果第一个参数设置为true,则jQuery返回一个深层次的副本,递归地复制找到的任何对象。否则的话,副本会与原对象共享结构。未定义的属性将不会被复制,然而从对象的原型继承的属性将会被复制

jQuery.grep(array, callback, [invert]):過濾數組

arrayArray:待过滤数组。

callback:此函数将处理数组每个元素。第一个参数为当前元素,第二个参数而元素索引值。此函数应返回一个布尔值。另外,此函数可设置为一个字符串,当设置为字符串时,将视为“lambda-form”(缩写形式?),其中 a 代表数组元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”。

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

jQuery.inArray(value, array):判斷value在array中是否存在, 从0开始计数,不存在返回-1

jQuery.isArray(obj):測試obj是否為數組

jQuery.makeArray(obj):将obj转换为数组对象

jQuery.map(array, callback): 将一个数组中的元素转换到另一个数组中

這個不好理解, 舉個例子:

原数组中大于 0 的元素加 1 ,否则删除。
jQuery 代码:
$.map( [0,1,2], function(n){
  return n > 0 ? n + 1 : null;
});
结果:
[2, 3]

原数组中每个元素扩展为一个包含其本身和其值加 1 的数组,并转换为一个新数组。
jQuery 代码:
$.map( [0,1,2], function(n){
  return [ n, n + 1 ];
});
结果:
[0, 1, 1, 2, 2, 3]

jQuery.merge(first, second):合併2個數組,返回的结果会修改第一个数组的内容——第一个数组的元素后面跟着第二个数组的元素。要去除重复项,请使用$.unique()

jQuery.unique(array):删除数组中重复元素。只处理删除DOM元素数组,而不能处理字符串或数字数组

jQuery.parseJSON(json):將json字符串轉化為JSON對象

posted @ 2013-04-27 16:16  邪见  阅读(211)  评论(0)    收藏  举报