日期:2014-05-16  浏览次数:20456 次

Jquery中的$.map(),$.each(),$.preg()的区别与关系
为什么以下这段程序三个方法都可实现同一功能(这三个究竟有什么确切的区别):

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);
});

jquery function javascript

------解决方案--------------------
$.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]
});