В чем разница между $.map и $.grep в jQuery

В чем разница между $.map и $.grep в jQuery?

Мне нужен простой ответ, насколько это возможно.

Ответы

Ответ 1

Предполагаю, что вы имеете в виду $.grep и $.map. Разница заключается в том, что мы используем $.grep для фильтрации массива, а мы используем $.map для применения функции к каждому элементу массива.

Вот гораздо лучшее объяснение, чем я могу сделать:

http://onwebdev.blogspot.com/2011/03/jquery-grep-and-map-example-and-syntax.html

Ответ 2

$.map метод может использоваться как итератор, но предназначен для манипулирования массивом и возврата нового массива.

var items = ['A','B','C','A'];    

var items = $.map(items, function(item) {
  if (item == 'A') 
    return null;
  return item;
});

теперь новый массив. ['B','C']

или

var items = $.map(items, function(item) {
  if (item == 'A') 
    return 'A'+'B';
  return item;
});

вывод будет ['AB', 'B', 'C', 'AB']

$.grep используется для фильтрации

var items = $.grep(items, function(item) {
      return item != 'A';
    });

теперь элементы ['B','C']

однако

var items = $.grep(items, function(item) {
      if (item == 'A') 
        return 'A'+'B';
      return item;
    })

вернет ['A', 'B', 'C', 'A'] поскольку он не создает новые вещи - он уменьшает существующие.