2015-07-21 3 views
0

я наткнулся на следующий код:JQuery карта против JQuery каждый

var userDetailsFields = $(formSelector + " input[type='text'], " + formSelector + " select").map(function(){ 
    return this.id; 
}); 

Я задавался вопросом, если JQuery каждый будет более подходящим для достижения такого же результата с точки зрения производительности ..

AIM : вернуть значение каждого входа и выбрать внутри формы.

+1

Как насчет '$ (formSelector) .find («вход, выберите»). Каждая (функция() {// code}); '- Я бы сказал, что« каждый »более читаем при переходе по объектам jQuery. – gskema

+0

Вы бы сказали, что с точки зрения производительности лучше? – Alex

+2

Возможно, вы сэкономите больше времени выполнения, если более эффективно пишете селектор – gskema

ответ

1
var userDetailsFields = $(formSelector).find("input[type='text'], select").map(function(){ 
    return this.id; 
}); 

.each используется для перебора массива, как и сделать что-то по каждому пункту. Это более общая функция

.map - создать новую базу массивов на исходном массиве-подобном объекте. Это более специфическая функция

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