为什么以下这段程序三个方法都可实现同一功能(这三个究竟有什么确切的区别):var _mozi = [1, 2, 3, 4, 5, 6];
$.each(_mozi, function(key, value) {
   alert('_mozi key, value: ' + key + ' 对应的值为:' + value);
});$.preg(_mozi, function(key, value) {
   alert('_mozi key, value: ' + key + ' 对应的值为:' + value);
});
$.map(_mozi, function(value, key) {
   alert('_mozi key, value: ' + key + ' 对应的值为:' + value);
});jqueryfunctionjavascript

解决方案 »

  1.   

    $.each();
    主要是方便循环,是for循环的加强版。$.each( [0,1,2], function(i, n){
      alert( "Item #" + i + ": " + n );
    });$.preg 应该是 $.grep吧?
    $.grep():
    使用过滤函数过滤数组元素。
    此函数至少传递两个参数:待过滤数组和过滤函数。过滤函数必须返回 true 以保留元素或 false 以删除元素。$.grep( [0,1,2], function(n,i){
      return n > 0; // [1, 2]
    });
    $.grep( [0,1,2], function(n,i){
      return n > 0; // [0]
    }, true);$.map():
    将一个数组中的元素转换到另一个数组中。$.map( [0,1,2], function(n){
      return n + 4; // [4, 5, 6]
    });
      

  2.   

    刚才是区别,如果说联系的话,那就是他们都是对数组或对象进行操作。
    此外还有:$.when,$.makeArray,$.inArray,$.merge,$.unique等比较常用。
    jquery的神奇在于提供了很多易用的方法,但是如果更好的利用他还是得学学js源生的语法或看看他的实现方法。