Я просто просматриваю API jQuery, и я немного запутался в методах map()
и get()
. Я знаю, что ошибаюсь, но метод map()
очень похож на инструкцию .each()
? Кроме того, в документации говорится, что он возвращает новый объект jQuery.
Я играл с этим на jsfiddle, пытаясь обнять его, но я не совсем там. здесь является ссылкой jsfiddle:
Также приведен фрагмент кода:
$.fn.equalizeHeights = function() {
var two = $(this).map(function(i, e) {
return $(e).height();
});
console.log(two);
console.log(two.constructor);
console.log(two.get());
console.log(two.get().constructor);
return this.height(Math.max.apply(this,two.get()));
}
$('input').click(function() {
$('div').equalizeHeights();
});
Я вижу, что они расширяют jQuery, используя прототип, чтобы создать функцию под названием equalizeHeights()
. И $(this)
представляет селектор для всех элементов "div" на странице. Вызов map()
выполняет итерацию через каждый из элементов массива div и возвращает его высоту? Но то, о чем я смущаюсь, это то, что я вхожу на консоль.
Один из них - object
, а другой - array
?
Может ли кто-нибудь уточнить, что делают map()
и get()
в этом фрагменте кода?
Спасибо заранее.